ASoC: rt5682: fix I2C/Soundwire dependencies
authorArnd Bergmann <arnd@arndb.de>
Tue, 28 Apr 2020 21:46:14 +0000 (23:46 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 24 Jun 2020 15:48:38 +0000 (17:48 +0200)
[ Upstream commit fd443a20c2f0950f3c31765a08f7dd49b3bc69cb ]

If one of the two is a loadable module, the combined driver must
not be built-in:

aarch64-linux-ld: sound/soc/codecs/rt5682.o: in function `rt5682_sdw_hw_free':
rt5682.c:(.text+0xb34): undefined reference to `sdw_stream_remove_slave'
aarch64-linux-ld: sound/soc/codecs/rt5682.o: in function `rt5682_sdw_hw_params':
rt5682.c:(.text+0xe78): undefined reference to `sdw_stream_add_slave'

In particular, the soundwire driver must not be built-in if
CONFIG_I2C=m.

Fixes: 5549ea647997 ("ASoC: rt5682: fix unmet dependencies")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20200428214642.3925004-1-arnd@arndb.de
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/codecs/Kconfig

index 8cdc68c141dc2a4b12b4687225bb3bef7e04568a..8a66f23a7b055dfdd8203d55d038924b7ac3cdac 100644 (file)
@@ -1136,10 +1136,13 @@ config SND_SOC_RT5677_SPI
 config SND_SOC_RT5682
        tristate
        depends on I2C || SOUNDWIRE
+       depends on SOUNDWIRE || !SOUNDWIRE
+       depends on I2C || !I2C
 
 config SND_SOC_RT5682_SDW
        tristate "Realtek RT5682 Codec - SDW"
        depends on SOUNDWIRE
+       depends on I2C || !I2C
        select SND_SOC_RT5682
        select REGMAP_SOUNDWIRE