diff mbox series

leds: Change devm_led_classdev_register_ext stub logic to use IS_REACHABLE

Message ID 0f6f432b-c650-4bb8-a1b5-fe3372804d52@gmail.com
State New
Headers show
Series leds: Change devm_led_classdev_register_ext stub logic to use IS_REACHABLE | expand

Commit Message

Heiner Kallweit Dec. 28, 2023, 8:55 a.m. UTC
If CONFIG_LEDS_CLASS = m and the caller of devm_led_classdev_register
is built-in, we get a compile/link error.
To avoid this we could add conditional compiling to the caller, but
exactly this overhead we wanted to avoid with adding the stubs.
Easiest solution is to use the existing stub also in case IS_ENABLED
is true, but IS_REACHABLE is false.

Fixes: 18764b883e15 ("r8169: add support for LED's on RTL8168/RTL8101")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202312281159.9TPeXbNd-lkp@intel.com/
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
 include/linux/leds.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Lee Jones Jan. 9, 2024, 8:37 a.m. UTC | #1
On Thu, 28 Dec 2023, Heiner Kallweit wrote:

> If CONFIG_LEDS_CLASS = m and the caller of devm_led_classdev_register
> is built-in, we get a compile/link error.
> To avoid this we could add conditional compiling to the caller, but
> exactly this overhead we wanted to avoid with adding the stubs.
> Easiest solution is to use the existing stub also in case IS_ENABLED
> is true, but IS_REACHABLE is false.
> 
> Fixes: 18764b883e15 ("r8169: add support for LED's on RTL8168/RTL8101")
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202312281159.9TPeXbNd-lkp@intel.com/
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
> ---
>  include/linux/leds.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Arnd pretty much NACKed this, right?

https://lore.kernel.org/r/b310230b-f20b-489a-97ed-908df193a942@app.fastmail.com

> diff --git a/include/linux/leds.h b/include/linux/leds.h
> index 4754b02d3..1eecee316 100644
> --- a/include/linux/leds.h
> +++ b/include/linux/leds.h
> @@ -279,7 +279,7 @@ static inline int led_classdev_register(struct device *parent,
>  	return led_classdev_register_ext(parent, led_cdev, NULL);
>  }
>  
> -#if IS_ENABLED(CONFIG_LEDS_CLASS)
> +#if IS_REACHABLE(CONFIG_LEDS_CLASS)
>  int devm_led_classdev_register_ext(struct device *parent,
>  					  struct led_classdev *led_cdev,
>  					  struct led_init_data *init_data);
> -- 
> 2.43.0
>
diff mbox series

Patch

diff --git a/include/linux/leds.h b/include/linux/leds.h
index 4754b02d3..1eecee316 100644
--- a/include/linux/leds.h
+++ b/include/linux/leds.h
@@ -279,7 +279,7 @@  static inline int led_classdev_register(struct device *parent,
 	return led_classdev_register_ext(parent, led_cdev, NULL);
 }
 
-#if IS_ENABLED(CONFIG_LEDS_CLASS)
+#if IS_REACHABLE(CONFIG_LEDS_CLASS)
 int devm_led_classdev_register_ext(struct device *parent,
 					  struct led_classdev *led_cdev,
 					  struct led_init_data *init_data);