From 977df8bd5844c9370c26a9477418165b870da27c Mon Sep 17 00:00:00 2001 From: Arnd Bergmann Date: Tue, 7 Dec 2021 16:14:36 +0100 Subject: [PATCH] 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: Arnd Bergmann Link: https://lore.kernel.org/r/20211207151447.3338818-1-arnd@kernel.org Signed-off-by: Luca Coelho --- drivers/net/wireless/intel/iwlwifi/Kconfig | 52 +++++++++++++++--------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/Kconfig b/drivers/net/wireless/intel/iwlwifi/Kconfig index 337428e..cafdb45 100644 --- a/drivers/net/wireless/intel/iwlwifi/Kconfig +++ b/drivers/net/wireless/intel/iwlwifi/Kconfig @@ -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 - - - 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 + + + If unsure, say N. -- 2.7.4