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

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.orgSigned-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
parent 4b992db6
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
config IWLWIFI config IWLWIFI
tristate "Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi) " tristate "Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi) "
depends on PCI && HAS_IOMEM && CFG80211 depends on PCI && HAS_IOMEM && CFG80211
depends on IWLMEI || !IWLMEI
select FW_LOADER select FW_LOADER
help help
Select to build the driver supporting the: Select to build the driver supporting the:
...@@ -92,32 +93,6 @@ config IWLWIFI_BCAST_FILTERING ...@@ -92,32 +93,6 @@ config IWLWIFI_BCAST_FILTERING
If unsure, don't enable this option, as some programs might If unsure, don't enable this option, as some programs might
expect incoming broadcasts for their normal operations. 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" menu "Debugging Options"
config IWLWIFI_DEBUG config IWLWIFI_DEBUG
...@@ -172,3 +147,28 @@ config IWLWIFI_DEVICE_TRACING ...@@ -172,3 +147,28 @@ config IWLWIFI_DEVICE_TRACING
endmenu endmenu
endif 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.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment