Commit 8d89cf6f authored by Srinivas Kandagatla's avatar Srinivas Kandagatla Committed by Mark Brown

ASoC: qcom: cleanup and fix dependency of QCOM_COMMON

SND_SOC_QCOM_COMMON depends on SOUNDWIRE for some symbols but this
is not explicitly specified using Kconfig depends. On the other hand
SND_SOC_QCOM_COMMON is also directly selected by the sound card
Kconfigs, this could result in various combinations and some symbols
ending up in modules and soundcard that uses those symbols as in-build
driver.

Fix these issues by explicitly specifying the dependencies of
SND_SOC_QCOM_COMMON and also use imply a to select SND_SOC_QCOM_COMMON
so that the symbol is selected based on its dependencies.

Also remove dummy stubs in common.c around CONFIG_SOUNDWIRE

Fixes: 3bd975f3 ("ASoC: qcom: sm8250: move some code to common")
Reported-by: default avatarkernel test robot <lkp@intel.com>
Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20221124140351.407506-1-srinivas.kandagatla@linaro.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 1bf5ee97
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
menuconfig SND_SOC_QCOM menuconfig SND_SOC_QCOM
tristate "ASoC support for QCOM platforms" tristate "ASoC support for QCOM platforms"
depends on ARCH_QCOM || COMPILE_TEST depends on ARCH_QCOM || COMPILE_TEST
imply SND_SOC_QCOM_COMMON
help help
Say Y or M if you want to add support to use audio devices Say Y or M if you want to add support to use audio devices
in Qualcomm Technologies SOC-based platforms. in Qualcomm Technologies SOC-based platforms.
...@@ -59,13 +60,14 @@ config SND_SOC_STORM ...@@ -59,13 +60,14 @@ config SND_SOC_STORM
config SND_SOC_APQ8016_SBC config SND_SOC_APQ8016_SBC
tristate "SoC Audio support for APQ8016 SBC platforms" tristate "SoC Audio support for APQ8016 SBC platforms"
select SND_SOC_LPASS_APQ8016 select SND_SOC_LPASS_APQ8016
select SND_SOC_QCOM_COMMON depends on SND_SOC_QCOM_COMMON
help help
Support for Qualcomm Technologies LPASS audio block in Support for Qualcomm Technologies LPASS audio block in
APQ8016 SOC-based systems. APQ8016 SOC-based systems.
Say Y if you want to use audio devices on MI2S. Say Y if you want to use audio devices on MI2S.
config SND_SOC_QCOM_COMMON config SND_SOC_QCOM_COMMON
depends on SOUNDWIRE
tristate tristate
config SND_SOC_QDSP6_COMMON config SND_SOC_QDSP6_COMMON
...@@ -142,7 +144,7 @@ config SND_SOC_MSM8996 ...@@ -142,7 +144,7 @@ config SND_SOC_MSM8996
depends on QCOM_APR depends on QCOM_APR
depends on COMMON_CLK depends on COMMON_CLK
select SND_SOC_QDSP6 select SND_SOC_QDSP6
select SND_SOC_QCOM_COMMON depends on SND_SOC_QCOM_COMMON
help help
Support for Qualcomm Technologies LPASS audio block in Support for Qualcomm Technologies LPASS audio block in
APQ8096 SoC-based systems. APQ8096 SoC-based systems.
...@@ -153,7 +155,7 @@ config SND_SOC_SDM845 ...@@ -153,7 +155,7 @@ config SND_SOC_SDM845
depends on QCOM_APR && I2C && SOUNDWIRE depends on QCOM_APR && I2C && SOUNDWIRE
depends on COMMON_CLK depends on COMMON_CLK
select SND_SOC_QDSP6 select SND_SOC_QDSP6
select SND_SOC_QCOM_COMMON depends on SND_SOC_QCOM_COMMON
select SND_SOC_RT5663 select SND_SOC_RT5663
select SND_SOC_MAX98927 select SND_SOC_MAX98927
imply SND_SOC_CROS_EC_CODEC imply SND_SOC_CROS_EC_CODEC
...@@ -167,7 +169,7 @@ config SND_SOC_SM8250 ...@@ -167,7 +169,7 @@ config SND_SOC_SM8250
depends on QCOM_APR && SOUNDWIRE depends on QCOM_APR && SOUNDWIRE
depends on COMMON_CLK depends on COMMON_CLK
select SND_SOC_QDSP6 select SND_SOC_QDSP6
select SND_SOC_QCOM_COMMON depends on SND_SOC_QCOM_COMMON
help help
To add support for audio on Qualcomm Technologies Inc. To add support for audio on Qualcomm Technologies Inc.
SM8250 SoC-based systems. SM8250 SoC-based systems.
...@@ -178,7 +180,7 @@ config SND_SOC_SC8280XP ...@@ -178,7 +180,7 @@ config SND_SOC_SC8280XP
depends on QCOM_APR && SOUNDWIRE depends on QCOM_APR && SOUNDWIRE
depends on COMMON_CLK depends on COMMON_CLK
select SND_SOC_QDSP6 select SND_SOC_QDSP6
select SND_SOC_QCOM_COMMON depends on SND_SOC_QCOM_COMMON
help help
To add support for audio on Qualcomm Technologies Inc. To add support for audio on Qualcomm Technologies Inc.
SC8280XP SoC-based systems. SC8280XP SoC-based systems.
...@@ -188,7 +190,7 @@ config SND_SOC_SC7180 ...@@ -188,7 +190,7 @@ config SND_SOC_SC7180
tristate "SoC Machine driver for SC7180 boards" tristate "SoC Machine driver for SC7180 boards"
depends on I2C && GPIOLIB depends on I2C && GPIOLIB
depends on SOUNDWIRE || SOUNDWIRE=n depends on SOUNDWIRE || SOUNDWIRE=n
select SND_SOC_QCOM_COMMON depends on SND_SOC_QCOM_COMMON
select SND_SOC_LPASS_SC7180 select SND_SOC_LPASS_SC7180
select SND_SOC_MAX98357A select SND_SOC_MAX98357A
select SND_SOC_RT5682_I2C select SND_SOC_RT5682_I2C
...@@ -202,7 +204,7 @@ config SND_SOC_SC7180 ...@@ -202,7 +204,7 @@ config SND_SOC_SC7180
config SND_SOC_SC7280 config SND_SOC_SC7280
tristate "SoC Machine driver for SC7280 boards" tristate "SoC Machine driver for SC7280 boards"
depends on I2C && SOUNDWIRE depends on I2C && SOUNDWIRE
select SND_SOC_QCOM_COMMON depends on SND_SOC_QCOM_COMMON
select SND_SOC_LPASS_SC7280 select SND_SOC_LPASS_SC7280
select SND_SOC_MAX98357A select SND_SOC_MAX98357A
select SND_SOC_WCD938X_SDW select SND_SOC_WCD938X_SDW
......
...@@ -180,7 +180,6 @@ int qcom_snd_parse_of(struct snd_soc_card *card) ...@@ -180,7 +180,6 @@ int qcom_snd_parse_of(struct snd_soc_card *card)
} }
EXPORT_SYMBOL_GPL(qcom_snd_parse_of); EXPORT_SYMBOL_GPL(qcom_snd_parse_of);
#if IS_ENABLED(CONFIG_SOUNDWIRE)
int qcom_snd_sdw_prepare(struct snd_pcm_substream *substream, int qcom_snd_sdw_prepare(struct snd_pcm_substream *substream,
struct sdw_stream_runtime *sruntime, struct sdw_stream_runtime *sruntime,
bool *stream_prepared) bool *stream_prepared)
...@@ -294,7 +293,6 @@ int qcom_snd_sdw_hw_free(struct snd_pcm_substream *substream, ...@@ -294,7 +293,6 @@ int qcom_snd_sdw_hw_free(struct snd_pcm_substream *substream,
return 0; return 0;
} }
EXPORT_SYMBOL_GPL(qcom_snd_sdw_hw_free); EXPORT_SYMBOL_GPL(qcom_snd_sdw_hw_free);
#endif
int qcom_snd_wcd_jack_setup(struct snd_soc_pcm_runtime *rtd, int qcom_snd_wcd_jack_setup(struct snd_soc_pcm_runtime *rtd,
struct snd_soc_jack *jack, bool *jack_setup) struct snd_soc_jack *jack, bool *jack_setup)
......
...@@ -11,7 +11,6 @@ int qcom_snd_parse_of(struct snd_soc_card *card); ...@@ -11,7 +11,6 @@ int qcom_snd_parse_of(struct snd_soc_card *card);
int qcom_snd_wcd_jack_setup(struct snd_soc_pcm_runtime *rtd, int qcom_snd_wcd_jack_setup(struct snd_soc_pcm_runtime *rtd,
struct snd_soc_jack *jack, bool *jack_setup); struct snd_soc_jack *jack, bool *jack_setup);
#if IS_ENABLED(CONFIG_SOUNDWIRE)
int qcom_snd_sdw_prepare(struct snd_pcm_substream *substream, int qcom_snd_sdw_prepare(struct snd_pcm_substream *substream,
struct sdw_stream_runtime *runtime, struct sdw_stream_runtime *runtime,
bool *stream_prepared); bool *stream_prepared);
...@@ -21,26 +20,4 @@ int qcom_snd_sdw_hw_params(struct snd_pcm_substream *substream, ...@@ -21,26 +20,4 @@ int qcom_snd_sdw_hw_params(struct snd_pcm_substream *substream,
int qcom_snd_sdw_hw_free(struct snd_pcm_substream *substream, int qcom_snd_sdw_hw_free(struct snd_pcm_substream *substream,
struct sdw_stream_runtime *sruntime, struct sdw_stream_runtime *sruntime,
bool *stream_prepared); bool *stream_prepared);
#else
static inline int qcom_snd_sdw_prepare(struct snd_pcm_substream *substream,
struct sdw_stream_runtime *runtime,
bool *stream_prepared)
{
return -ENOTSUPP;
}
static inline int qcom_snd_sdw_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params,
struct sdw_stream_runtime **psruntime)
{
return -ENOTSUPP;
}
static inline int qcom_snd_sdw_hw_free(struct snd_pcm_substream *substream,
struct sdw_stream_runtime *sruntime,
bool *stream_prepared)
{
return -ENOTSUPP;
}
#endif
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment