RE: [PATCH] wifi: rtw89: fix LED dependencies
From: Ping-Ke Shih
Date: Tue Sep 29 2026 - 20:33:50 EST
Arnd Bergmann <arnd@xxxxxxxxxx> wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> The rtw89 driver fails to build when multicolor LED support is in
> a loadable module but the rtw89 driver is built-in:
>
> aarch64-linux-ld: drivers/net/wireless/realtek/rtw89/led_mc.o: in function
> `rtw89_led_mc_brightness_set':
> led_mc.c:(.text+0x50): undefined reference to `led_mc_calc_color_components'
> aarch64-linux-ld: drivers/net/wireless/realtek/rtw89/led_mc.o: in function `rtw89_led_mc_init':
> led_mc.c:(.text+0x434): undefined reference to `led_classdev_multicolor_register_ext'
This was also found by kernel test robot [1], and addressed by patch [2].
[1] https://lore.kernel.org/oe-kbuild-all/202609172315.ZYoKvKBS-lkp@xxxxxxxxx/
[2] https://patch.msgid.link/20260918021113.25481-1-pkshih@xxxxxxxxxxx
>
> The problem is a misunderstanding of how Kconfig dependencies
> work, as the 'imply' keyword is not sufficient to enable a
> a user-visible dependency, and the boolean 'RTW89_LEDS_MC'
> symbol cannot determine whether linking against the MC code is
> valid.
People intend to weakly select the dependency. I think keeping
'imply' is harmless.
>
> Address this by using the correct construct to determing whether
> linking agains the MAC80211_LEDS and LEDS_CLASS_MULTICOLOR
> code is possible, respectively.
>
> Fixes: d910631ff352 ("wifi: rtw89: add LED support to reflect the wireless association status")
> Fixes: 721d90c8509a ("wifi: rtw89: add multicolor LED support for RTL8852CU valve board")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> drivers/net/wireless/realtek/rtw89/Kconfig | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/wireless/realtek/rtw89/Kconfig
> b/drivers/net/wireless/realtek/rtw89/Kconfig
> index 7c678dd1f6b3..4000ae344544 100644
> --- a/drivers/net/wireless/realtek/rtw89/Kconfig
> +++ b/drivers/net/wireless/realtek/rtw89/Kconfig
> @@ -208,15 +208,13 @@ config RTW89_DEBUGFS
> config RTW89_LEDS
> bool
> depends on RTW89_CORE
> - depends on LEDS_CLASS=y || LEDS_CLASS=MAC80211
I remember we fixed to this style years ago by imitating ath10k and iwlwifi,
which they look like that still.
> - imply MAC80211_LEDS
> + depends on MAC80211_LEDS=y || MAC80211_LEDS=RTW89_CORE
> default y
>
> config RTW89_LEDS_MC
> bool
> depends on RTW89_LEDS
> - depends on LEDS_CLASS_MULTICOLOR
> - imply LEDS_TRIGGER_TIMER
> + depends on LEDS_CLASS_MULTICOLOR=y || LEDS_CLASS_MULTICOLOR=RTW89_CORE
> default y
>
> endif
> --
> 2.53.0