Commit c68115fc authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Kalle Valo
Browse files

brcmsmac: rework LED dependencies



This is now the only driver that selects the LEDS_CLASS framework,
which is normally user-selectable. While it doesn't strictly cause
a bug, rework the Kconfig logic to be more consistent with what
other drivers do, and only enable LED support in brcmsmac if the
dependencies are all there, rather than using 'select' to enable
what it needs.

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20211204173848.873293-2-arnd@kernel.org
parent efdbfa0a
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -7,16 +7,20 @@ config BRCMSMAC
	depends on MAC80211
	depends on BCMA_POSSIBLE
	select BCMA
	select NEW_LEDS if BCMA_DRIVER_GPIO
	select LEDS_CLASS if BCMA_DRIVER_GPIO
	select BRCMUTIL
	select FW_LOADER
	select CORDIC
	help
	  This module adds support for PCIe wireless adapters based on Broadcom
	  IEEE802.11n SoftMAC chipsets. It also has WLAN led support, which will
	  be available if you select BCMA_DRIVER_GPIO. If you choose to build a
	  module, the driver will be called brcmsmac.ko.
	  IEEE802.11n SoftMAC chipsets. If you choose to build a module, the
	  driver will be called brcmsmac.ko.

config BRCMSMAC_LEDS
	def_bool BRCMSMAC && BCMA_DRIVER_GPIO && MAC80211_LEDS
	help
	  The brcmsmac LED support depends on the presence of the
	  BCMA_DRIVER_GPIO driver, and it only works if LED support
	  is enabled and reachable from the driver module.

source "drivers/net/wireless/broadcom/brcm80211/brcmfmac/Kconfig"

+1 −1
Original line number Diff line number Diff line
@@ -42,6 +42,6 @@ brcmsmac-y := \
	brcms_trace_events.o \
	debug.o

brcmsmac-$(CONFIG_BCMA_DRIVER_GPIO) += led.o
brcmsmac-$(CONFIG_BRCMSMAC_LEDS) += led.o

obj-$(CONFIG_BRCMSMAC)	+= brcmsmac.o
+1 −1
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ struct brcms_led {
	struct gpio_desc *gpiod;
};

#ifdef CONFIG_BCMA_DRIVER_GPIO
#ifdef CONFIG_BRCMSMAC_LEDS
void brcms_led_unregister(struct brcms_info *wl);
int brcms_led_register(struct brcms_info *wl);
#else