Search Linux Wireless

[PATCH] Fix compile error with wifi & leds

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,
I encountered a build error with current git tree:

  CC [M]  net/mac80211/led.o
/home/kronos/src/linux-2.6.git/net/mac80211/led.c: In function 'ieee80211_led_init':
/home/kronos/src/linux-2.6.git/net/mac80211/led.c:58: error: invalid application of 'sizeof' to incomplete type 'struct led_trigger'
/home/kronos/src/linux-2.6.git/net/mac80211/led.c:62: error: dereferencing pointer to incomplete type
/home/kronos/src/linux-2.6.git/net/mac80211/led.c:63: error: implicit declaration of function 'led_trigger_register'
/home/kronos/src/linux-2.6.git/net/mac80211/led.c:69: error: invalid application of 'sizeof' to incomplete type 'struct led_trigger'
/home/kronos/src/linux-2.6.git/net/mac80211/led.c:73: error: dereferencing pointer to incomplete type
/home/kronos/src/linux-2.6.git/net/mac80211/led.c:80: error: invalid application of 'sizeof' to incomplete type 'struct led_trigger'
/home/kronos/src/linux-2.6.git/net/mac80211/led.c:84: error: dereferencing pointer to incomplete type
/home/kronos/src/linux-2.6.git/net/mac80211/led.c:91: error: invalid application of 'sizeof' to incomplete type 'struct led_trigger'
/home/kronos/src/linux-2.6.git/net/mac80211/led.c:95: error: dereferencing pointer to incomplete type
/home/kronos/src/linux-2.6.git/net/mac80211/led.c: In function 'ieee80211_led_exit':
/home/kronos/src/linux-2.6.git/net/mac80211/led.c:106: error: implicit declaration of function 'led_trigger_unregister'
make[3]: *** [net/mac80211/led.o] Error 1
make[2]: *** [net/mac80211] Error 2
make[1]: *** [net] Error 2
make: *** [sub-make] Error 2

This has been caused by commit e82404ad612ebabc65d15c3d59b971cb35c3ff36
from David Miller:

 config IWL4965_LEDS
        bool "Enable LEDS features in iwl4965 driver"
-       depends on IWL4965 && MAC80211_LEDS && LEDS_CLASS
+       depends on IWL4965
+       select MAC80211_LEDS
+       select LEDS_CLASS


the problem is that MAC80211_LEDS *depends* on LEDS_TRIGGER but does not
_select_ it. IOW enabling IWL4965_LEDS enables MAC80211_LEDS which in
turn does not compile if LEDS_TRIGGER is not enabled.

LEDS_TRIGGER is not enough though, NEW_LEDS (which is a menuconfig
guarding the aforementioned symbol) must also be selected.

---

Since MAC80211_LEDS is selected by wireless drivers it must select its
own dependencies otherwise a build error may occur (kbuild will select
the symbol regardless of "depends" constraints).

Signed-Off-By: Luca Tettamanti <kronos.it@xxxxxxxxx>

---

 net/mac80211/Kconfig |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/net/mac80211/Kconfig b/net/mac80211/Kconfig
index 520a518..a24b459 100644
--- a/net/mac80211/Kconfig
+++ b/net/mac80211/Kconfig
@@ -73,7 +73,9 @@ config MAC80211_MESH

 config MAC80211_LEDS
 	bool "Enable LED triggers"
-	depends on MAC80211 && LEDS_TRIGGERS
+	depends on MAC80211
+	select NEW_LEDS
+	select LEDS_TRIGGERS
 	---help---
 	  This option enables a few LED triggers for different
 	  packet receive/transmit events.


Luca
-- 
Io sono un uomo che non deve chiedere mai. Di solito imploro.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux