RE: [PATCH 2/2] mei: rework Kconfig dependencies

From: Wu, Wentong
Date: Fri Dec 15 2023 - 03:12:07 EST


> From: Arnd Bergmann <arnd@xxxxxxxxxx> Sent: Friday, December 15, 2023 2:40 AM
>
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> 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.

Yes, I agree it will make future changes more easier.

Reviewed-by: Wentong Wu <wentong.wu@xxxxxxxxx>

>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> This does not fix a bug, but seems like a sensible cleanup to me, making the logic
> less error-prone for future changes. Feel free to just take the first patch and
> ignore this one if I missed an important reason for the original variant, or if you
> prefer a different method.
> ---
> drivers/misc/mei/Kconfig | 14 ++++++--------
> drivers/misc/mei/gsc_proxy/Kconfig | 2 +-
> drivers/misc/mei/hdcp/Kconfig | 2 +-
> drivers/misc/mei/pxp/Kconfig | 2 +-
> 4 files changed, 9 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/misc/mei/Kconfig b/drivers/misc/mei/Kconfig index
> 1e28ca23a74a..67d9391f1855 100644
> --- a/drivers/misc/mei/Kconfig
> +++ b/drivers/misc/mei/Kconfig
> @@ -3,6 +3,7 @@
> config INTEL_MEI
> tristate "Intel Management Engine Interface"
> depends on X86 && PCI
> + default GENERIC_CPU || MCORE2 || MATOM || X86_GENERIC
> help
> The Intel Management Engine (Intel ME) provides Manageability,
> Security and Media services for system containing Intel chipsets.
> @@ -11,10 +12,11 @@ config INTEL_MEI
> For more information see
> <https://software.intel.com/en-us/manageability/>
>
> +if INTEL_MEI
> +
> config INTEL_MEI_ME
> tristate "ME Enabled Intel Chipsets"
> - select INTEL_MEI
> - depends on X86 && PCI
> + default y
> help
> MEI support for ME Enabled Intel chipsets.
>
> @@ -38,8 +40,6 @@ config INTEL_MEI_ME
>
> config INTEL_MEI_TXE
> tristate "Intel Trusted Execution Environment with ME Interface"
> - select INTEL_MEI
> - depends on X86 && PCI
> help
> MEI Support for Trusted Execution Environment device on Intel SoCs
>
> @@ -48,9 +48,7 @@ config INTEL_MEI_TXE
>
> config INTEL_MEI_GSC
> tristate "Intel MEI GSC embedded device"
> - depends on INTEL_MEI
> depends on INTEL_MEI_ME
> - depends on X86 && PCI
> depends on DRM_I915
> help
> Intel auxiliary driver for GSC devices embedded in Intel graphics devices.
> @@ -62,7 +60,6 @@ config INTEL_MEI_GSC
>
> config INTEL_MEI_VSC_HW
> tristate "Intel visual sensing controller device transport driver"
> - depends on INTEL_MEI
> depends on ACPI && SPI
> depends on GPIOLIB || COMPILE_TEST
> help
> @@ -75,7 +72,6 @@ config INTEL_MEI_VSC_HW config INTEL_MEI_VSC
> tristate "Intel visual sensing controller device with ME interface"
> depends on INTEL_MEI_VSC_HW
> - depends on INTEL_MEI
> help
> Intel MEI over SPI driver for Intel visual sensing controller
> (IVSC) device embedded in IA platform. It supports camera sharing @@
> -88,3 +84,5 @@ config INTEL_MEI_VSC source
> "drivers/misc/mei/hdcp/Kconfig"
> source "drivers/misc/mei/pxp/Kconfig"
> source "drivers/misc/mei/gsc_proxy/Kconfig"
> +
> +endif
> diff --git a/drivers/misc/mei/gsc_proxy/Kconfig
> b/drivers/misc/mei/gsc_proxy/Kconfig
> index 5f68d9f3d691..ac78b9d1eccd 100644
> --- a/drivers/misc/mei/gsc_proxy/Kconfig
> +++ b/drivers/misc/mei/gsc_proxy/Kconfig
> @@ -3,7 +3,7 @@
> #
> config INTEL_MEI_GSC_PROXY
> tristate "Intel GSC Proxy services of ME Interface"
> - select INTEL_MEI_ME
> + depends on INTEL_MEI_ME
> depends on DRM_I915
> help
> MEI Support for GSC Proxy Services on Intel platforms.
> diff --git a/drivers/misc/mei/hdcp/Kconfig b/drivers/misc/mei/hdcp/Kconfig
> index 54e1c9526909..9be312ec798d 100644
> --- a/drivers/misc/mei/hdcp/Kconfig
> +++ b/drivers/misc/mei/hdcp/Kconfig
> @@ -3,7 +3,7 @@
> #
> config INTEL_MEI_HDCP
> tristate "Intel HDCP2.2 services of ME Interface"
> - select INTEL_MEI_ME
> + depends on INTEL_MEI_ME
> depends on DRM_I915
> help
> MEI Support for HDCP2.2 Services on Intel platforms.
> diff --git a/drivers/misc/mei/pxp/Kconfig b/drivers/misc/mei/pxp/Kconfig index
> 4029b96afc04..838eae556dd4 100644
> --- a/drivers/misc/mei/pxp/Kconfig
> +++ b/drivers/misc/mei/pxp/Kconfig
> @@ -4,7 +4,7 @@
> #
> config INTEL_MEI_PXP
> tristate "Intel PXP services of ME Interface"
> - select INTEL_MEI_ME
> + depends on INTEL_MEI_ME
> depends on DRM_I915
> help
> MEI Support for PXP Services on Intel platforms.
> --
> 2.39.2

Thanks
Wentong