linux/sound/soc/qcom
Stephan Gerhold 0cbf1ecd8c
ASoC: qcom: Fix building APQ8016 machine driver without SOUNDWIRE
Older Qualcomm platforms like APQ8016 do not have hardware support for
SoundWire, so kernel configurations made specifically for those platforms
will usually not have CONFIG_SOUNDWIRE enabled.

Unfortunately commit 8d89cf6ff2 ("ASoC: qcom: cleanup and fix
dependency of QCOM_COMMON") breaks those kernel configurations, because
SOUNDWIRE is now a required dependency for SND_SOC_QCOM_COMMON (and in
turn also SND_SOC_APQ8016_SBC). Trying to migrate such a kernel config
silently disables SND_SOC_APQ8016_SBC and breaks audio functionality.

The soundwire helpers in common.c are only used by two of the Qualcomm
audio machine drivers, so building and requiring CONFIG_SOUNDWIRE for
all platforms is unnecessary.

There is no need to stuff all common code into a single module. Fix the
issue by moving the soundwire helpers to a separate SND_SOC_QCOM_SDW
module/option that is selected only by the machine drivers that make
use of them. This also allows reverting the imply/depends changes from
the previous fix because both SM8250 and SC8280XP already depend on
SOUNDWIRE, so the soundwire helpers will be only built if SOUNDWIRE
is really enabled.

Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Fixes: 8d89cf6ff2 ("ASoC: qcom: cleanup and fix dependency of QCOM_COMMON")
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20221231115506.82991-1-stephan@gerhold.net
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-01-09 13:04:14 +00:00
..
qdsp6 ASoC: qcom: q6prm: Correct module description 2022-11-11 17:26:51 +00:00
apq8016_sbc.c ASoC: qcom: Update to use set_fmt_new callback 2022-06-06 12:33:42 +01:00
apq8096.c
common.c ASoC: qcom: Fix building APQ8016 machine driver without SOUNDWIRE 2023-01-09 13:04:14 +00:00
common.h ASoC: qcom: Fix building APQ8016 machine driver without SOUNDWIRE 2023-01-09 13:04:14 +00:00
Kconfig ASoC: qcom: Fix building APQ8016 machine driver without SOUNDWIRE 2023-01-09 13:04:14 +00:00
lpass-apq8016.c ASoC: qcom: lpass: Fix apq8016 compat string to match yaml 2022-06-28 13:18:30 +01:00
lpass-cdc-dma.c ASoC: qcom: Add lpass CPU driver for codec dma control 2022-02-24 20:21:46 +00:00
lpass-cpu.c ASoC: qcom: lpass-cpu: Fix fallback SD line index handling 2023-01-01 22:34:07 +00:00
lpass-hdmi.c
lpass-hdmi.h
lpass-ipq806x.c
lpass-lpaif-reg.h
lpass-platform.c ASoC: qcom: lpass-platform: Update VMA access permissions in mmap callback 2022-06-01 12:24:10 +02:00
lpass-sc7180.c ASoC: qcom: lpass-sc7180: Add maybe_unused tag for system PM ops 2022-11-29 14:44:22 +00:00
lpass-sc7280.c ASoC: qcom: lpass-sc7280: Add maybe_unused tag for system PM ops 2022-12-05 14:05:38 +00:00
lpass.h ASoC: qcom: Add lpass CPU driver for codec dma control 2022-02-24 20:21:46 +00:00
Makefile ASoC: qcom: Fix building APQ8016 machine driver without SOUNDWIRE 2023-01-09 13:04:14 +00:00
sc7180.c ASoC: qcom: Update to use set_fmt_new callback 2022-06-06 12:33:42 +01:00
sc7280.c ASoC: qcom: Add driver support for audioreach solution 2022-06-28 15:14:25 +01:00
sc8280xp.c ASoC: qcom: Fix building APQ8016 machine driver without SOUNDWIRE 2023-01-09 13:04:14 +00:00
sdm845.c ASoC: qcom: Update to use set_fmt_new callback 2022-06-06 12:33:42 +01:00
sdw.c ASoC: qcom: Fix building APQ8016 machine driver without SOUNDWIRE 2023-01-09 13:04:14 +00:00
sdw.h ASoC: qcom: Fix building APQ8016 machine driver without SOUNDWIRE 2023-01-09 13:04:14 +00:00
sm8250.c ASoC: qcom: Fix building APQ8016 machine driver without SOUNDWIRE 2023-01-09 13:04:14 +00:00
storm.c