Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c43e9330 authored by Johannes Berg's avatar Johannes Berg Committed by Emmanuel Grumbach
Browse files

iwlwifi: make LED support optional



If there's no LED on the system, it doesn't make a lot of sense
to include close to 4k of LED-related code (mostly in mac80211),
so instead of forcing LED support into the kernel, don't build
iwlwifi/mac80211 LED support if there's no LED class support.

Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Reviewed-by: default avatarEliadX Peller <eliad@wizery.com>
Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
parent bb926924
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -2,10 +2,6 @@ config IWLWIFI
	tristate "Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi) "
	depends on PCI && MAC80211 && HAS_IOMEM
	select FW_LOADER
	select NEW_LEDS
	select LEDS_CLASS
	select LEDS_TRIGGERS
	select MAC80211_LEDS
	---help---
	  Select to build the driver supporting the:

@@ -43,6 +39,14 @@ config IWLWIFI
	  say M here and read <file:Documentation/kbuild/modules.txt>.  The
	  module will be called iwlwifi.

config IWLWIFI_LEDS
	bool
	depends on IWLWIFI
	depends on LEDS_CLASS
	select LEDS_TRIGGERS
	select MAC80211_LEDS
	default y

config IWLDVM
	tristate "Intel Wireless WiFi DVM Firmware support"
	depends on IWLWIFI
+2 −1
Original line number Diff line number Diff line
@@ -4,9 +4,10 @@ iwldvm-objs += main.o rs.o mac80211.o ucode.o tx.o
iwldvm-objs		+= lib.o calib.o tt.o sta.o rx.o

iwldvm-objs		+= power.o
iwldvm-objs		+= scan.o led.o
iwldvm-objs		+= scan.o
iwldvm-objs		+= rxon.o devices.o

iwldvm-$(CONFIG_IWLWIFI_LEDS) += led.o
iwldvm-$(CONFIG_IWLWIFI_DEBUGFS) += debugfs.o

ccflags-y += -D__CHECK_ENDIAN__ -I$(src)/../
+2 −0
Original line number Diff line number Diff line
@@ -888,9 +888,11 @@ struct iwl_priv {

	struct iwl_event_log event_log;

#ifdef CONFIG_IWLWIFI_LEDS
	struct led_classdev led;
	unsigned long blink_on, blink_off;
	bool led_registered;
#endif

	/* WoWLAN GTK rekey data */
	u8 kck[NL80211_KCK_LEN], kek[NL80211_KEK_LEN];
+12 −0
Original line number Diff line number Diff line
@@ -36,8 +36,20 @@ struct iwl_priv;
#define IWL_LED_ACTIVITY       (0<<1)
#define IWL_LED_LINK           (1<<1)

#ifdef CONFIG_IWLWIFI_LEDS
void iwlagn_led_enable(struct iwl_priv *priv);
void iwl_leds_init(struct iwl_priv *priv);
void iwl_leds_exit(struct iwl_priv *priv);
#else
static inline void iwlagn_led_enable(struct iwl_priv *priv)
{
}
static inline void iwl_leds_init(struct iwl_priv *priv)
{
}
static inline void iwl_leds_exit(struct iwl_priv *priv)
{
}
#endif

#endif /* __iwl_leds_h__ */
+2 −1
Original line number Diff line number Diff line
@@ -3,8 +3,9 @@ iwlmvm-y += fw.o mac80211.o nvm.o ops.o phy-ctxt.o mac-ctxt.o
iwlmvm-y += utils.o rx.o tx.o binding.o quota.o sta.o sf.o
iwlmvm-y += scan.o time-event.o rs.o
iwlmvm-y += power.o coex.o
iwlmvm-y += led.o tt.o offloading.o
iwlmvm-y += tt.o offloading.o
iwlmvm-$(CONFIG_IWLWIFI_DEBUGFS) += debugfs.o debugfs-vif.o
iwlmvm-$(CONFIG_IWLWIFI_LEDS) += led.o
iwlmvm-$(CONFIG_PM_SLEEP) += d3.o

ccflags-y += -D__CHECK_ENDIAN__ -I$(src)/../
Loading