[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20211207151447.3338818-1-arnd@kernel.org>
Date: Tue, 7 Dec 2021 16:14:36 +0100
From: Arnd Bergmann <arnd@...nel.org>
To: Luca Coelho <luciano.coelho@...el.com>,
Kalle Valo <kvalo@...eaurora.org>
Cc: Arnd Bergmann <arnd@...db.de>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Ayala Beker <ayala.beker@...el.com>,
Emmanuel Grumbach <emmanuel.grumbach@...el.com>,
linux-wireless@...r.kernel.org, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH] [v2] iwlwifi: work around reverse dependency on MEI
From: Arnd Bergmann <arnd@...db.de>
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 <arnd@...db.de>
---
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 cf1125d84929..c21c0c68849a 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
- <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.
--
2.29.2
Powered by blists - more mailing lists