Messages in this thread Patch in this message | | | Date | Sat, 26 Apr 2008 22:34:08 +0200 | From | Luca Tettamanti <> | Subject | [PATCH] Fix compile error with wifi & leds |
| |
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@gmail.com>
---
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.
| |