From: Arnd Bergmann <[email protected]>
rtl8xxxu now unconditionally uses LEDS_CLASS, so a Kconfig dependency
is required to avoid link errors:
aarch64-linux-ld: drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.o: in function `rtl8xxxu_disconnect':
rtl8xxxu_core.c:(.text+0x730): undefined reference to `led_classdev_unregister'
ERROR: modpost: "led_classdev_unregister" [drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.ko] undefined!
ERROR: modpost: "led_classdev_register_ext" [drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.ko] undefined!
Fixes: 3be01622995b ("wifi: rtl8xxxu: Register the LED and make it blink")
Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/net/wireless/realtek/rtl8xxxu/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/wireless/realtek/rtl8xxxu/Kconfig b/drivers/net/wireless/realtek/rtl8xxxu/Kconfig
index 091d3ad98093..2eed20b0988c 100644
--- a/drivers/net/wireless/realtek/rtl8xxxu/Kconfig
+++ b/drivers/net/wireless/realtek/rtl8xxxu/Kconfig
@@ -5,6 +5,7 @@
config RTL8XXXU
tristate "Realtek 802.11n USB wireless chips support"
depends on MAC80211 && USB
+ depends on LEDS_CLASS
help
This is an alternative driver for various Realtek RTL8XXX
parts written to utilize the Linux mac80211 stack.
--
2.39.1
On Fri, 2023-02-17 at 10:59 +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> rtl8xxxu now unconditionally uses LEDS_CLASS, so a Kconfig dependency
> is required to avoid link errors:
>
> aarch64-linux-ld: drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.o: in function
> `rtl8xxxu_disconnect':
> rtl8xxxu_core.c:(.text+0x730): undefined reference to `led_classdev_unregister'
>
> ERROR: modpost: "led_classdev_unregister" [drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.ko]
> undefined!
> ERROR: modpost: "led_classdev_register_ext" [drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.ko]
> undefined!
>
> Fixes: 3be01622995b ("wifi: rtl8xxxu: Register the LED and make it blink")
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> drivers/net/wireless/realtek/rtl8xxxu/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/net/wireless/realtek/rtl8xxxu/Kconfig
> b/drivers/net/wireless/realtek/rtl8xxxu/Kconfig
> index 091d3ad98093..2eed20b0988c 100644
> --- a/drivers/net/wireless/realtek/rtl8xxxu/Kconfig
> +++ b/drivers/net/wireless/realtek/rtl8xxxu/Kconfig
> @@ -5,6 +5,7 @@
> config RTL8XXXU
> tristate "Realtek 802.11n USB wireless chips support"
> depends on MAC80211 && USB
> + depends on LEDS_CLASS
With 'depends on', this item will disappear if LEDS_CLASS isn't selected.
Would it use 'select' instead?
Ping-Ke
On Fri, Feb 17, 2023, at 12:50, Ping-Ke Shih wrote:
> On Fri, 2023-02-17 at 10:59 +0100, Arnd Bergmann wrote:
>> From: Arnd Bergmann <[email protected]>
>> diff --git a/drivers/net/wireless/realtek/rtl8xxxu/Kconfig
>> b/drivers/net/wireless/realtek/rtl8xxxu/Kconfig
>> index 091d3ad98093..2eed20b0988c 100644
>> --- a/drivers/net/wireless/realtek/rtl8xxxu/Kconfig
>> +++ b/drivers/net/wireless/realtek/rtl8xxxu/Kconfig
>> @@ -5,6 +5,7 @@
>> config RTL8XXXU
>> tristate "Realtek 802.11n USB wireless chips support"
>> depends on MAC80211 && USB
>> + depends on LEDS_CLASS
>
> With 'depends on', this item will disappear if LEDS_CLASS isn't selected.
> Would it use 'select' instead?
In general, 'select' is for hidden symbols, not user visible ones.
The main problem is mixing 'select' and 'depends on', as this
leads to circular dependencies. With LEDS_CLASS there is unfortunately
already a mix of the two that can be hard to clean up, but
'depends on' is usually the safer bet to avoid causing more
problems.
For wireless drivers, you can also use MAC80211_LEDS to abstract
some of this, but that is probably a larger rework.
Arnd
Arnd Bergmann <[email protected]> wrote:
> From: Arnd Bergmann <[email protected]>
>
> rtl8xxxu now unconditionally uses LEDS_CLASS, so a Kconfig dependency
> is required to avoid link errors:
>
> aarch64-linux-ld: drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.o: in function `rtl8xxxu_disconnect':
> rtl8xxxu_core.c:(.text+0x730): undefined reference to `led_classdev_unregister'
>
> ERROR: modpost: "led_classdev_unregister" [drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.ko] undefined!
> ERROR: modpost: "led_classdev_register_ext" [drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.ko] undefined!
>
> Fixes: 3be01622995b ("wifi: rtl8xxxu: Register the LED and make it blink")
> Signed-off-by: Arnd Bergmann <[email protected]>
Patch applied to wireless-next.git, thanks.
38ae31922969 wifi: rtl8xxxu: add LEDS_CLASS dependency
--
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches