Message ID | 20210920122359.353810-1-arnd@kernel.org |
---|---|
State | New |
Headers | show |
Series | [v2] ath5k: fix building with LEDS=m | expand |
Arnd Bergmann <arnd@kernel.org> writes: > From: Arnd Bergmann <arnd@arndb.de> > > Randconfig builds still show a failure for the ath5k driver, > similar to the one that was fixed for ath9k earlier: > > 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]: > - ATH5K [=m] && NETDEVICES [=y] && WLAN [=y] && WLAN_VENDOR_ATH [=y] && (PCI [=y] || ATH25) && MAC80211 [=y] > net/mac80211/led.c: In function 'ieee80211_alloc_led_names': > net/mac80211/led.c:34:22: error: 'struct led_trigger' has no member named 'name' > 34 | local->rx_led.name = kasprintf(GFP_KERNEL, "%srx", > | ^ > > Copying the same logic from my ath9k patch makes this one work > as well, stubbing out the calls to the LED subsystem. > > Fixes: b64acb28da83 ("ath9k: fix build error with LEDS_CLASS=m") > Fixes: 72cdab808714 ("ath9k: Do not select MAC80211_LEDS by default") > Fixes: 3a078876caee ("ath5k: convert LED code to use mac80211 triggers") > Link: https://lore.kernel.org/all/20210722105501.1000781-1-arnd@kernel.org/ > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > Changes in v2: > - avoid link failure when NEW_LEDS is disabled I'll queue this to v5.15. -- https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
Arnd Bergmann <arnd@kernel.org> wrote: > From: Arnd Bergmann <arnd@arndb.de> > > Randconfig builds still show a failure for the ath5k driver, > similar to the one that was fixed for ath9k earlier: > > 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]: > - ATH5K [=m] && NETDEVICES [=y] && WLAN [=y] && WLAN_VENDOR_ATH [=y] && (PCI [=y] || ATH25) && MAC80211 [=y] > net/mac80211/led.c: In function 'ieee80211_alloc_led_names': > net/mac80211/led.c:34:22: error: 'struct led_trigger' has no member named 'name' > 34 | local->rx_led.name = kasprintf(GFP_KERNEL, "%srx", > | ^ > > Copying the same logic from my ath9k patch makes this one work > as well, stubbing out the calls to the LED subsystem. > > Fixes: b64acb28da83 ("ath9k: fix build error with LEDS_CLASS=m") > Fixes: 72cdab808714 ("ath9k: Do not select MAC80211_LEDS by default") > Fixes: 3a078876caee ("ath5k: convert LED code to use mac80211 triggers") > Link: https://lore.kernel.org/all/20210722105501.1000781-1-arnd@kernel.org/ > Signed-off-by: Arnd Bergmann <arnd@arndb.de> Patch applied to wireless-drivers.git, thanks. fb8c3a3c5240 ath5k: fix building with LEDS=m -- https://patchwork.kernel.org/project/linux-wireless/patch/20210920122359.353810-1-arnd@kernel.org/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
diff --git a/drivers/net/wireless/ath/ath5k/Kconfig b/drivers/net/wireless/ath/ath5k/Kconfig index f35cd8de228e..6914b37bb0fb 100644 --- a/drivers/net/wireless/ath/ath5k/Kconfig +++ b/drivers/net/wireless/ath/ath5k/Kconfig @@ -3,9 +3,7 @@ config ATH5K tristate "Atheros 5xxx wireless cards support" depends on (PCI || ATH25) && MAC80211 select ATH_COMMON - select MAC80211_LEDS - select LEDS_CLASS - select NEW_LEDS + select MAC80211_LEDS if LEDS_CLASS=y || LEDS_CLASS=MAC80211 select ATH5K_AHB if ATH25 select ATH5K_PCI if !ATH25 help diff --git a/drivers/net/wireless/ath/ath5k/led.c b/drivers/net/wireless/ath/ath5k/led.c index 6a2a16856763..33e9928af363 100644 --- a/drivers/net/wireless/ath/ath5k/led.c +++ b/drivers/net/wireless/ath/ath5k/led.c @@ -89,7 +89,8 @@ static const struct pci_device_id ath5k_led_devices[] = { void ath5k_led_enable(struct ath5k_hw *ah) { - if (test_bit(ATH_STAT_LEDSOFT, ah->status)) { + if (IS_ENABLED(CONFIG_MAC80211_LEDS) && + test_bit(ATH_STAT_LEDSOFT, ah->status)) { ath5k_hw_set_gpio_output(ah, ah->led_pin); ath5k_led_off(ah); } @@ -104,7 +105,8 @@ static void ath5k_led_on(struct ath5k_hw *ah) void ath5k_led_off(struct ath5k_hw *ah) { - if (!test_bit(ATH_STAT_LEDSOFT, ah->status)) + if (!IS_ENABLED(CONFIG_MAC80211_LEDS) || + !test_bit(ATH_STAT_LEDSOFT, ah->status)) return; ath5k_hw_set_gpio(ah, ah->led_pin, !ah->led_on); } @@ -146,7 +148,7 @@ ath5k_register_led(struct ath5k_hw *ah, struct ath5k_led *led, static void ath5k_unregister_led(struct ath5k_led *led) { - if (!led->ah) + if (!IS_ENABLED(CONFIG_MAC80211_LEDS) || !led->ah) return; led_classdev_unregister(&led->led_dev); ath5k_led_off(led->ah); @@ -169,7 +171,7 @@ int ath5k_init_leds(struct ath5k_hw *ah) char name[ATH5K_LED_MAX_NAME_LEN + 1]; const struct pci_device_id *match; - if (!ah->pdev) + if (!IS_ENABLED(CONFIG_MAC80211_LEDS) || !ah->pdev) return 0; #ifdef CONFIG_ATH5K_AHB