Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mei: rework Kconfig dependencies

The dependencies in the mei framework are inconsistent, with some symbols
using 'select INTEL_MEI' to force it being enabled and others using
'depends on INTEL_MEI'.

In general, one should not select user-visible symbols, so change all
of these to normal dependencies, but change the default on INTEL_MEI to
be enabled when building a kernel for an Intel CPU with ME or a generic
x86 kernel.

Having consistent dependencies makes the 'menuconfig' listing more
readable by using proper indentation.

A large if/endif block is just a simpler syntax than repeating the
dependencies for each symbol.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Wentong Wu <wentong.wu@intel.com>
Link: https://lore.kernel.org/r/20231214183946.109124-2-arnd@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Arnd Bergmann and committed by
Greg Kroah-Hartman
d667378a 95171e45

+9 -11
+6 -8
drivers/misc/mei/Kconfig
··· 3 3 config INTEL_MEI 4 4 tristate "Intel Management Engine Interface" 5 5 depends on X86 && PCI 6 + default GENERIC_CPU || MCORE2 || MATOM || X86_GENERIC 6 7 help 7 8 The Intel Management Engine (Intel ME) provides Manageability, 8 9 Security and Media services for system containing Intel chipsets. ··· 12 11 For more information see 13 12 <https://software.intel.com/en-us/manageability/> 14 13 14 + if INTEL_MEI 15 + 15 16 config INTEL_MEI_ME 16 17 tristate "ME Enabled Intel Chipsets" 17 - select INTEL_MEI 18 - depends on X86 && PCI 18 + default y 19 19 help 20 20 MEI support for ME Enabled Intel chipsets. 21 21 ··· 40 38 41 39 config INTEL_MEI_TXE 42 40 tristate "Intel Trusted Execution Environment with ME Interface" 43 - select INTEL_MEI 44 - depends on X86 && PCI 45 41 help 46 42 MEI Support for Trusted Execution Environment device on Intel SoCs 47 43 ··· 48 48 49 49 config INTEL_MEI_GSC 50 50 tristate "Intel MEI GSC embedded device" 51 - depends on INTEL_MEI 52 51 depends on INTEL_MEI_ME 53 - depends on X86 && PCI 54 52 depends on DRM_I915 55 53 help 56 54 Intel auxiliary driver for GSC devices embedded in Intel graphics devices. ··· 60 62 61 63 config INTEL_MEI_VSC_HW 62 64 tristate "Intel visual sensing controller device transport driver" 63 - depends on INTEL_MEI 64 65 depends on ACPI && SPI 65 66 depends on GPIOLIB || COMPILE_TEST 66 67 help ··· 72 75 config INTEL_MEI_VSC 73 76 tristate "Intel visual sensing controller device with ME interface" 74 77 depends on INTEL_MEI_VSC_HW 75 - depends on INTEL_MEI 76 78 help 77 79 Intel MEI over SPI driver for Intel visual sensing controller 78 80 (IVSC) device embedded in IA platform. It supports camera sharing ··· 84 88 source "drivers/misc/mei/hdcp/Kconfig" 85 89 source "drivers/misc/mei/pxp/Kconfig" 86 90 source "drivers/misc/mei/gsc_proxy/Kconfig" 91 + 92 + endif
+1 -1
drivers/misc/mei/gsc_proxy/Kconfig
··· 3 3 # 4 4 config INTEL_MEI_GSC_PROXY 5 5 tristate "Intel GSC Proxy services of ME Interface" 6 - select INTEL_MEI_ME 6 + depends on INTEL_MEI_ME 7 7 depends on DRM_I915 8 8 help 9 9 MEI Support for GSC Proxy Services on Intel platforms.
+1 -1
drivers/misc/mei/hdcp/Kconfig
··· 3 3 # 4 4 config INTEL_MEI_HDCP 5 5 tristate "Intel HDCP2.2 services of ME Interface" 6 - select INTEL_MEI_ME 6 + depends on INTEL_MEI_ME 7 7 depends on DRM_I915 8 8 help 9 9 MEI Support for HDCP2.2 Services on Intel platforms.
+1 -1
drivers/misc/mei/pxp/Kconfig
··· 3 3 # 4 4 config INTEL_MEI_PXP 5 5 tristate "Intel PXP services of ME Interface" 6 - select INTEL_MEI_ME 6 + depends on INTEL_MEI_ME 7 7 depends on DRM_I915 8 8 help 9 9 MEI Support for PXP Services on Intel platforms.