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

Arend van Spriel
2013-11-19T09:11:23Z

On 11/19/2013 12:32 AM, Borislav Petkov wrote:
> 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.

The problem with 'select' is indeed that you need to cover all
dependencies. It looks fine to me so why don't you just submit this to
John Linville (and Cc: linux-wireless@vger.kernel.org).

Regards,
Arend

> --
> 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
>