* [PATCH v2] wireless: carl9170: fix LEDS build errors & warnings
@ 2021-05-29 16:44 Randy Dunlap
2021-05-29 17:42 ` Christian Lamparter
0 siblings, 1 reply; 3+ messages in thread
From: Randy Dunlap @ 2021-05-29 16:44 UTC (permalink / raw)
Cc: Randy Dunlap, kernel test robot, Kalle Valo, Christian Lamparter,
linux-wireless, Arnd Bergmann
kernel test robot reports over 200 build errors and warnings
that are due to this Kconfig problem when CARL9170=m,
MAC80211=y, and LEDS_CLASS=m.
WARNING: unmet direct dependencies detected for MAC80211_LEDS
Depends on [n]: NET [=y] && WIRELESS [=y] && MAC80211 [=y] && (LEDS_CLASS [=m]=y || LEDS_CLASS [=m]=MAC80211 [=y])
Selected by [m]:
- CARL9170_LEDS [=y] && NETDEVICES [=y] && WLAN [=y] && WLAN_VENDOR_ATH [=y] && CARL9170 [=m]
CARL9170_LEDS selects MAC80211_LEDS even though its kconfig
dependencies are not met. This happens because 'select' does not follow
any Kconfig dependency chains.
Fix this by making CARL9170_LEDS always set/enabled if certain
conditions are met: LEDS_CLASS=y or LEDS_CLASS=CARL9170, just as
this is done for Mediatek MT76.
Fixes: 1d7e1e6b1b8ed ("carl9170: Makefile, Kconfig files and MAINTAINERS")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Reported-by: kernel test robot <lkp@intel.com>
Cc: Kalle Valo <kvalo@codeaurora.org>
Cc: Christian Lamparter <chunkeey@googlemail.com>
Cc: linux-wireless@vger.kernel.org
Cc: Arnd Bergmann <arnd@arndb.de>
Suggested-by: Arnd Bergmann <arnd@arndb.de>
---
v2: modify as suggesed by Arnd
drivers/net/wireless/ath/carl9170/Kconfig | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)
--- linux-next-20210528.orig/drivers/net/wireless/ath/carl9170/Kconfig
+++ linux-next-20210528/drivers/net/wireless/ath/carl9170/Kconfig
@@ -15,16 +15,10 @@ config CARL9170
If you choose to build a module, it'll be called carl9170.
config CARL9170_LEDS
- bool "SoftLED Support"
- depends on CARL9170
- select MAC80211_LEDS
- select LEDS_CLASS
- select NEW_LEDS
+ bool
default y
- help
- This option is necessary, if you want your device' LEDs to blink
-
- Say Y, unless you need the LEDs for firmware debugging.
+ depends on CARL9170
+ depends on LEDS_CLASS=y || LEDS_CLASS=CARL9170
config CARL9170_DEBUGFS
bool "DebugFS Support"
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2] wireless: carl9170: fix LEDS build errors & warnings
2021-05-29 16:44 [PATCH v2] wireless: carl9170: fix LEDS build errors & warnings Randy Dunlap
@ 2021-05-29 17:42 ` Christian Lamparter
2021-05-30 0:13 ` Randy Dunlap
0 siblings, 1 reply; 3+ messages in thread
From: Christian Lamparter @ 2021-05-29 17:42 UTC (permalink / raw)
To: Randy Dunlap
Cc: kernel test robot, Kalle Valo, Christian Lamparter,
linux-wireless, Arnd Bergmann
On 29/05/2021 18:44, Randy Dunlap wrote:
> kernel test robot reports over 200 build errors and warnings
> that are due to this Kconfig problem when CARL9170=m,
> MAC80211=y, and LEDS_CLASS=m.
>
> WARNING: unmet direct dependencies detected for MAC80211_LEDS
> Depends on [n]: NET [=y] && WIRELESS [=y] && MAC80211 [=y] && (LEDS_CLASS [=m]=y || LEDS_CLASS [=m]=MAC80211 [=y])
> Selected by [m]:
> - CARL9170_LEDS [=y] && NETDEVICES [=y] && WLAN [=y] && WLAN_VENDOR_ATH [=y] && CARL9170 [=m]
>
> CARL9170_LEDS selects MAC80211_LEDS even though its kconfig
> dependencies are not met. This happens because 'select' does not follow
> any Kconfig dependency chains.
>
> Fix this by making CARL9170_LEDS always set/enabled if certain
> conditions are met: LEDS_CLASS=y or LEDS_CLASS=CARL9170, just as
> this is done for Mediatek MT76.
>
Hmm, that commit was really a long time ago. In fact it was part of
the initial series for that driver (from September 2010)
1d7e1e6b1b8ed ("carl9170: Makefile, Kconfig files and MAINTAINERS")
From what I can tell, the "bool / tristate" of LED_CLASS flipped
from tristate (2006) to bool (2010) and back to tristate (2012).
And since MAC80211_LEDS is involved it seems that the latest change
from Arnd:
b64acb28da83 ("ath9k: fix build error with LEDS_CLASS=m")
So, the "select" stuff was present from the start, but it
hasn't been kept up to date I guess.
> Fixes: 1d7e1e6b1b8ed ("carl9170: Makefile, Kconfig files and MAINTAINERS")
> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> Reported-by: kernel test robot <lkp@intel.com>
> Cc: Kalle Valo <kvalo@codeaurora.org>
> Cc: Christian Lamparter <chunkeey@googlemail.com>
> Cc: linux-wireless@vger.kernel.org
> Cc: Arnd Bergmann <arnd@arndb.de>
> Suggested-by: Arnd Bergmann <arnd@arndb.de>
> ---
> v2: modify as suggesed by Arnd
>
> drivers/net/wireless/ath/carl9170/Kconfig | 12 +++---------
> 1 file changed, 3 insertions(+), 9 deletions(-)
>
> --- linux-next-20210528.orig/drivers/net/wireless/ath/carl9170/Kconfig
> +++ linux-next-20210528/drivers/net/wireless/ath/carl9170/Kconfig
> @@ -15,16 +15,10 @@ config CARL9170
> If you choose to build a module, it'll be called carl9170.
>
> config CARL9170_LEDS
> - bool "SoftLED Support"
> - depends on CARL9170
> - select MAC80211_LEDS
> - select LEDS_CLASS
> - select NEW_LEDS
> + bool
> default y
> - help
> - This option is necessary, if you want your device' LEDs to blink
> -
> - Say Y, unless you need the LEDs for firmware debugging.
> + depends on CARL9170
> + depends on LEDS_CLASS=y || LEDS_CLASS=CARL9170
What happens if CARL9170=M|Y, LED_CLASS=M|Y but MAC80211_LEDS=N?
(with =N, I mean of course: # CONFIG_MAC80211_LEDS is not set. )
From what I can tell, in this case, the driver will create the LEDs
devices just fine. But since the triggers aren't available (because
they are provided by MAC80211_LEDS) these LEDs will be still called
"tx" and "assoc" but are completely "brainless"/"off".
(carl9170 sets sane default triggers for the LEDS in carl9170_led_register)
---
err = carl9170_led_register_led(ar, 0, "tx",
ieee80211_get_tx_led_name(ar->hw));
if (err)
goto fail;
if (ar->features & CARL9170_ONE_LED)
return 0;
err = carl9170_led_register_led(ar, 1, "assoc",
ieee80211_get_assoc_led_name(ar->hw));
---
I would have liked to keep that extra dependency to MAC80211_LEDS.
Would this work with depends/imply? Or will this break in a different way?
Cheers,
Christian
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2] wireless: carl9170: fix LEDS build errors & warnings
2021-05-29 17:42 ` Christian Lamparter
@ 2021-05-30 0:13 ` Randy Dunlap
0 siblings, 0 replies; 3+ messages in thread
From: Randy Dunlap @ 2021-05-30 0:13 UTC (permalink / raw)
To: Christian Lamparter
Cc: kernel test robot, Kalle Valo, Christian Lamparter,
linux-wireless, Arnd Bergmann
Hi Christian,
On 5/29/21 10:42 AM, Christian Lamparter wrote:
> On 29/05/2021 18:44, Randy Dunlap wrote:
>> kernel test robot reports over 200 build errors and warnings
>> that are due to this Kconfig problem when CARL9170=m,
>> MAC80211=y, and LEDS_CLASS=m.
>>
>> WARNING: unmet direct dependencies detected for MAC80211_LEDS
>> Depends on [n]: NET [=y] && WIRELESS [=y] && MAC80211 [=y] && (LEDS_CLASS [=m]=y || LEDS_CLASS [=m]=MAC80211 [=y])
>> Selected by [m]:
>> - CARL9170_LEDS [=y] && NETDEVICES [=y] && WLAN [=y] && WLAN_VENDOR_ATH [=y] && CARL9170 [=m]
>>
>> CARL9170_LEDS selects MAC80211_LEDS even though its kconfig
>> dependencies are not met. This happens because 'select' does not follow
>> any Kconfig dependency chains.
>>
>> Fix this by making CARL9170_LEDS always set/enabled if certain
>> conditions are met: LEDS_CLASS=y or LEDS_CLASS=CARL9170, just as
>> this is done for Mediatek MT76.
>>
>
> Hmm, that commit was really a long time ago. In fact it was part of
> the initial series for that driver (from September 2010)
> 1d7e1e6b1b8ed ("carl9170: Makefile, Kconfig files and MAINTAINERS")
>
> From what I can tell, the "bool / tristate" of LED_CLASS flipped
> from tristate (2006) to bool (2010) and back to tristate (2012).
>
> And since MAC80211_LEDS is involved it seems that the latest change
> from Arnd:
> b64acb28da83 ("ath9k: fix build error with LEDS_CLASS=m")
>
> So, the "select" stuff was present from the start, but it
> hasn't been kept up to date I guess.
>
>> Fixes: 1d7e1e6b1b8ed ("carl9170: Makefile, Kconfig files and MAINTAINERS")
>> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
>> Reported-by: kernel test robot <lkp@intel.com>
>> Cc: Kalle Valo <kvalo@codeaurora.org>
>> Cc: Christian Lamparter <chunkeey@googlemail.com>
>> Cc: linux-wireless@vger.kernel.org
>> Cc: Arnd Bergmann <arnd@arndb.de>
>> Suggested-by: Arnd Bergmann <arnd@arndb.de>
>> ---
>> v2: modify as suggesed by Arnd
>>
>> drivers/net/wireless/ath/carl9170/Kconfig | 12 +++---------
>> 1 file changed, 3 insertions(+), 9 deletions(-)
>>
>> --- linux-next-20210528.orig/drivers/net/wireless/ath/carl9170/Kconfig
>> +++ linux-next-20210528/drivers/net/wireless/ath/carl9170/Kconfig
>> @@ -15,16 +15,10 @@ config CARL9170
>> If you choose to build a module, it'll be called carl9170.
>> config CARL9170_LEDS
>> - bool "SoftLED Support"
>> - depends on CARL9170
>> - select MAC80211_LEDS
>> - select LEDS_CLASS
>> - select NEW_LEDS
>> + bool
>> default y
>> - help
>> - This option is necessary, if you want your device' LEDs to blink
>> -
>> - Say Y, unless you need the LEDs for firmware debugging.
>> + depends on CARL9170
>> + depends on LEDS_CLASS=y || LEDS_CLASS=CARL9170
>
> What happens if CARL9170=M|Y, LED_CLASS=M|Y but MAC80211_LEDS=N?
> (with =N, I mean of course: # CONFIG_MAC80211_LEDS is not set. )
> From what I can tell, in this case, the driver will create the LEDs
> devices just fine. But since the triggers aren't available (because
> they are provided by MAC80211_LEDS) these LEDs will be still called
> "tx" and "assoc" but are completely "brainless"/"off".
>
> (carl9170 sets sane default triggers for the LEDS in carl9170_led_register)
> ---
> err = carl9170_led_register_led(ar, 0, "tx",
> ieee80211_get_tx_led_name(ar->hw));
> if (err)
> goto fail;
>
> if (ar->features & CARL9170_ONE_LED)
> return 0;
>
> err = carl9170_led_register_led(ar, 1, "assoc",
> ieee80211_get_assoc_led_name(ar->hw));
> ---
>
> I would have liked to keep that extra dependency to MAC80211_LEDS.
> Would this work with depends/imply? Or will this break in a different way?
I like that idea. I've give it a whirl of testing...
thanks.
--
~Randy
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-05-30 0:13 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-29 16:44 [PATCH v2] wireless: carl9170: fix LEDS build errors & warnings Randy Dunlap
2021-05-29 17:42 ` Christian Lamparter
2021-05-30 0:13 ` Randy Dunlap
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.