Return-path: Received: from fg-out-1718.google.com ([72.14.220.152]:43406 "EHLO fg-out-1718.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757185AbYDZUeF (ORCPT ); Sat, 26 Apr 2008 16:34:05 -0400 Received: by fg-out-1718.google.com with SMTP id l27so4193829fgb.17 for ; Sat, 26 Apr 2008 13:34:03 -0700 (PDT) Date: Sat, 26 Apr 2008 22:34:08 +0200 From: Luca Tettamanti To: linux-kernel@vger.kernel.org Cc: linux-wireless@vger.kernel.org, "David S. Miller" Subject: [PATCH] Fix compile error with wifi & leds Message-ID: <20080426203408.GA12074@dreamland.darkstar.lan> (sfid-20080426_223426_560044_06868534) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: linux-wireless-owner@vger.kernel.org List-ID: 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 --- 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.