Commit 977df8bd authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Luca Coelho
Browse files

iwlwifi: work around reverse dependency on MEI



If the iwlmei code is a loadable module, the main iwlwifi driver
cannot be built-in:

x86_64-linux-ld: drivers/net/wireless/intel/iwlwifi/pcie/trans.o: in function `iwl_pcie_prepare_card_hw':
trans.c:(.text+0x4158): undefined reference to `iwl_mei_is_connected'

Unfortunately, Kconfig enforces the opposite, forcing the MEI driver to
not be built-in if iwlwifi is a module.

To work around this, decouple iwlmei from iwlwifi and add the
dependency in the other direction.

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20211207151447.3338818-1-arnd@kernel.org


Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
parent 4b992db6
Loading
Loading
Loading
Loading
+26 −26
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@
config IWLWIFI
	tristate "Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi) "
	depends on PCI && HAS_IOMEM && CFG80211
	depends on IWLMEI || !IWLMEI
	select FW_LOADER
	help
	  Select to build the driver supporting the:
@@ -92,32 +93,6 @@ config IWLWIFI_BCAST_FILTERING
	  If unsure, don't enable this option, as some programs might
	  expect incoming broadcasts for their normal operations.

config IWLMEI
	tristate "Intel Management Engine communication over WLAN"
	depends on INTEL_MEI
	depends on PM
	depends on IWLMVM
	help
	  Enables the iwlmei kernel module.

	  CSME stands for Converged Security and Management Engine. It is a CPU
	  on the chipset and runs a dedicated firmware. AMT (Active Management
	  Technology) is one of the applications that run on that CPU. AMT
	  allows to control the platform remotely.

	  This kernel module allows to communicate with the Intel Management
	  Engine over Wifi. This is supported starting from Tiger Lake
	  platforms and has been tested on 9260 devices only.
	  If AMT is configured not to use the wireless device, this module is
	  harmless (and useless).
	  Enabling this option on a platform that has a different device and
	  has Wireless enabled on AMT can prevent WiFi from working correctly.

	  For more information see
	  <https://software.intel.com/en-us/manageability/>

	  If unsure, say N.

menu "Debugging Options"

config IWLWIFI_DEBUG
@@ -172,3 +147,28 @@ config IWLWIFI_DEVICE_TRACING
endmenu

endif

config IWLMEI
	tristate "Intel Management Engine communication over WLAN"
	depends on INTEL_MEI
	depends on PM
	help
	  Enables the iwlmei kernel module.

	  CSME stands for Converged Security and Management Engine. It is a CPU
	  on the chipset and runs a dedicated firmware. AMT (Active Management
	  Technology) is one of the applications that run on that CPU. AMT
	  allows to control the platform remotely.

	  This kernel module allows to communicate with the Intel Management
	  Engine over Wifi. This is supported starting from Tiger Lake
	  platforms and has been tested on 9260 devices only.
	  If AMT is configured not to use the wireless device, this module is
	  harmless (and useless).
	  Enabling this option on a platform that has a different device and
	  has Wireless enabled on AMT can prevent WiFi from working correctly.

	  For more information see
	  <https://software.intel.com/en-us/manageability/>

	  If unsure, say N.