ASoC: amd: rt5682: fix soundwire dependencies

Message ID 20200527134151.834555-1-arnd@arndb.de
State New
Headers show
Series
  • ASoC: amd: rt5682: fix soundwire dependencies
Related show

Commit Message

Arnd Bergmann May 27, 2020, 1:41 p.m.
A built-in SND_SOC_AMD_RV_RT5682_MACH driver can not select
SND_SOC_RT5682 when that is linking against a modular soundwire
layer:

WARNING: unmet direct dependencies detected for SND_SOC_RT5682
  Depends on [m]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && (I2C [=y] || SOUNDWIRE [=m]) && (SOUNDWIRE [=m] || !SOUNDWIRE [=m]) && (I2C [=y] || !I2C [=y])
  Selected by [y]:
  - SND_SOC_AMD_RV_RT5682_MACH [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_AMD_ACP3x [=y] && I2C [=y] && CROS_EC [=y]
  Selected by [m]:
  - SND_SOC_RT5682_SDW [=m] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SOUNDWIRE [=m] && (I2C [=y] || !I2C [=y])

This one is a bit awkward because the AMD driver itself has no interest
in soundwire, but I could not come up with a cleaner workaround so far.

Maybe the SND_SOC_RT5682 driver itself can be reworked so that
the common part depends on neither soundwire nor i2c and the two
bus specific options can be loadable modules when the common part
is built-in.

Fixes: 6b8e4e7db3cd ("ASoC: amd: Add machine driver for Raven based platform")
Fixes: fd443a20c2f0 ("ASoC: rt5682: fix I2C/Soundwire dependencies")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 sound/soc/amd/Kconfig | 1 +
 1 file changed, 1 insertion(+)

Patch

diff --git a/sound/soc/amd/Kconfig b/sound/soc/amd/Kconfig
index 77ffdb41bee5..878cf97b050e 100644
--- a/sound/soc/amd/Kconfig
+++ b/sound/soc/amd/Kconfig
@@ -34,6 +34,7 @@  config SND_SOC_AMD_RV_RT5682_MACH
 	select SND_SOC_CROS_EC_CODEC
 	select I2C_CROS_EC_TUNNEL
 	depends on SND_SOC_AMD_ACP3x && I2C && CROS_EC
+	depends on SOUNDWIRE || !SOUNDWIRE
 	help
 	 This option enables machine driver for RT5682 and MAX9835.