leds: Remove led_init_default_state_get() and devm_led_classdev_register_ext() stubs
authorArnd Bergmann <arnd@arndb.de>
Tue, 9 Jan 2024 09:06:39 +0000 (10:06 +0100)
committerLee Jones <lee@kernel.org>
Thu, 7 Mar 2024 08:48:02 +0000 (08:48 +0000)
commit211f8ec9400b58fb97cf4b6bd7033781e889bf53
tree0bd12baa186252a73cafbc31104ec3fe3ba1e59a
parentd0532248df7111428abd12875c90c34a39a546e4
leds: Remove led_init_default_state_get() and devm_led_classdev_register_ext() stubs

These two functions have stub implementations that are called when
NEW_LEDS and/or LEDS_CLASS are disabled, theorerically allowing drivers
to optionally use the LED subsystem.

However, this has never really worked because a built-in driver is
unable to link against these functions if the LED class is in a loadable
module. Heiner ran into this problem with a driver that newly gained
a LEDS_CLASS dependency and suggested using an IS_REACHABLE() check.

This is the reverse approach, removing the stub entirely to acknowledge
that it is pointless in its current form, and that not having it avoids
misleading developers into thinking that they can rely on it.

This survived around 1000 randconfig builds to validate that any callers
of the interface already have the correct Kconfig dependency already,
with the exception of the one that Heiner just added.

Cc: Heiner Kallweit <hkallweit1@gmail.com>
Link: https://lore.kernel.org/linux-leds/0f6f432b-c650-4bb8-a1b5-fe3372804d52@gmail.com/T/#u
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20240109090715.982332-1-arnd@kernel.org
Signed-off-by: Lee Jones <lee@kernel.org>
include/linux/leds.h