[PATCH] ASoC: intel: fix unmet dependencies on GPIOLIB for SND_SOC_DMIC and SND_SOC_MAX98357A

From: Julian Braha
Date: Sun Jan 16 2022 - 23:53:02 EST


When SND_SOC_INTEL_SOF_CS42L42_MACH is selected,
and GPIOLIB is not selected,
Kbuild gives the following warnings:

WARNING: unmet direct dependencies detected for SND_SOC_MAX98357A
Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && GPIOLIB [=n]
Selected by [y]:
- SND_SOC_INTEL_SOF_CS42L42_MACH [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_INTEL_MACH [=y] && (SND_SOC_SOF_HDA_LINK [=y] || SND_SOC_SOF_BAYTRAIL [=y]) && I2C [=y] && ACPI [=y] && SND_HDA_CODEC_HDMI [=y] && SND_SOC_SOF_HDA_AUDIO_CODEC [=y] && (MFD_INTEL_LPSS [=y] || COMPILE_TEST [=n])

WARNING: unmet direct dependencies detected for SND_SOC_DMIC
Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && GPIOLIB [=n]
Selected by [y]:
- SND_SOC_INTEL_SOF_CS42L42_MACH [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_INTEL_MACH [=y] && (SND_SOC_SOF_HDA_LINK [=y] || SND_SOC_SOF_BAYTRAIL [=y]) && I2C [=y] && ACPI [=y] && SND_HDA_CODEC_HDMI [=y] && SND_SOC_SOF_HDA_AUDIO_CODEC [=y] && (MFD_INTEL_LPSS [=y] || COMPILE_TEST [=n])

This is because SND_SOC_INTEL_SOF_CS42L42_MACH
selects SND_SOC_MAX98357A and SND_SOC_DMIC without
selecting or depending on GPIOLIB, despite these
config options depending on GPIOLIB.

These unmet dependency bugs were detected by Kismet,
a static analysis tool for Kconfig. Please advise
if this is not the appropriate solution.

Signed-off-by: Julian Braha <julianbraha@xxxxxxxxx>
---
sound/soc/intel/boards/Kconfig | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
index 34ccefcc30c7..6309a37789c7 100644
--- a/sound/soc/intel/boards/Kconfig
+++ b/sound/soc/intel/boards/Kconfig
@@ -279,6 +279,7 @@ endif ## SND_SOC_INTEL_SKL

config SND_SOC_INTEL_DA7219_MAX98357A_GENERIC
tristate
+ depends on GPIOLIB
select SND_SOC_DA7219
select SND_SOC_MAX98357A
select SND_SOC_MAX98390
@@ -288,6 +289,7 @@ config SND_SOC_INTEL_DA7219_MAX98357A_GENERIC

config SND_SOC_INTEL_BXT_DA7219_MAX98357A_COMMON
tristate
+ depends on GPIOLIB
select SND_SOC_INTEL_DA7219_MAX98357A_GENERIC

if SND_SOC_INTEL_APL
@@ -485,7 +487,7 @@ config SND_SOC_INTEL_SOF_RT5682_MACH

config SND_SOC_INTEL_SOF_CS42L42_MACH
tristate "SOF with cs42l42 codec in I2S Mode"
- depends on I2C && ACPI
+ depends on I2C && ACPI && GPIOLIB
depends on ((SND_HDA_CODEC_HDMI && SND_SOC_SOF_HDA_AUDIO_CODEC) &&\
(MFD_INTEL_LPSS || COMPILE_TEST))
select SND_SOC_CS42L42
--
2.32.0