Re: [PATCH] brcmsmac: Fix build dep on LEDS_CLASS

Borislav Petkov
2013-11-18T23:32:53Z

On Mon, Nov 18, 2013 at 11:19:08PM +0100, Arend van Spriel wrote:
> what about:
>
> config BRCMSMAC
> tristate "Broadcom IEEE802.11n PCIe SoftMAC WLAN driver"
> depends on MAC80211
> depends on BCMA_POSSIBLE
> + select LEDS_CLASS if BCMA_DRIVER_GPIO
> select BCMA

I know, nice and short but too good to be true. LEDS_CLASS needs to pull
in NEW_LEDS unfortunately:

drivers/built-in.o: In function `set_brightness_delayed':
led-class.c:(.text+0x4596e5): undefined reference to `led_stop_software_blink'
drivers/built-in.o: In function `led_classdev_register':
(.text+0x4598db): undefined reference to `leds_list_lock'
drivers/built-in.o: In function `led_classdev_register':
(.text+0x4598e7): undefined reference to `leds_list'
drivers/built-in.o: In function `led_classdev_register':
(.text+0x4598f3): undefined reference to `leds_list'
drivers/built-in.o: In function `led_classdev_register':
(.text+0x4598fa): undefined reference to `leds_list_lock'
drivers/built-in.o: In function `led_classdev_register':
(.text+0x459901): undefined reference to `leds_list'
drivers/built-in.o: In function `led_classdev_unregister':
(.text+0x4599a8): undefined reference to `led_stop_software_blink'
drivers/built-in.o: In function `led_classdev_unregister':
(.text+0x4599b2): undefined reference to `led_set_brightness'
drivers/built-in.o: In function `led_classdev_unregister':
(.text+0x4599c2): undefined reference to `leds_list_lock'
drivers/built-in.o: In function `led_classdev_unregister':
(.text+0x4599d6): undefined reference to `leds_list_lock'
make: *** [vmlinux] Error 1

What works, instead, is below. I think my "depends" solution from
earlier takes care of this without you having to select other stuff
explicitly but in the end of the day, I don't really care all that much
which one you guys take.

--
diff --git a/drivers/net/wireless/brcm80211/Kconfig b/drivers/net/wireless/brcm80211/Kconfig
index b00a7e92225f..54e36fcb3954 100644
--- a/drivers/net/wireless/brcm80211/Kconfig
+++ b/drivers/net/wireless/brcm80211/Kconfig
@@ -5,6 +5,8 @@ config BRCMSMAC
tristate "Broadcom IEEE802.11n PCIe SoftMAC WLAN driver"
depends on MAC80211
depends on BCMA
+ select NEW_LEDS if BCMA_DRIVER_GPIO
+ select LEDS_CLASS if BCMA_DRIVER_GPIO
select BRCMUTIL
select FW_LOADER
select CRC_CCITT