mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-26 20:44:32 +08:00
0cbf1ecd8c
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 commit8d89cf6ff2
("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>
46 lines
1.8 KiB
Makefile
46 lines
1.8 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
# Platform
|
|
snd-soc-lpass-cpu-objs := lpass-cpu.o
|
|
snd-soc-lpass-cdc-dma-objs := lpass-cdc-dma.o
|
|
snd-soc-lpass-hdmi-objs := lpass-hdmi.o
|
|
snd-soc-lpass-platform-objs := lpass-platform.o
|
|
snd-soc-lpass-ipq806x-objs := lpass-ipq806x.o
|
|
snd-soc-lpass-apq8016-objs := lpass-apq8016.o
|
|
snd-soc-lpass-sc7180-objs := lpass-sc7180.o
|
|
snd-soc-lpass-sc7280-objs := lpass-sc7280.o
|
|
|
|
obj-$(CONFIG_SND_SOC_LPASS_CPU) += snd-soc-lpass-cpu.o
|
|
obj-$(CONFIG_SND_SOC_LPASS_CDC_DMA) += snd-soc-lpass-cdc-dma.o
|
|
obj-$(CONFIG_SND_SOC_LPASS_HDMI) += snd-soc-lpass-hdmi.o
|
|
obj-$(CONFIG_SND_SOC_LPASS_PLATFORM) += snd-soc-lpass-platform.o
|
|
obj-$(CONFIG_SND_SOC_LPASS_IPQ806X) += snd-soc-lpass-ipq806x.o
|
|
obj-$(CONFIG_SND_SOC_LPASS_APQ8016) += snd-soc-lpass-apq8016.o
|
|
obj-$(CONFIG_SND_SOC_LPASS_SC7180) += snd-soc-lpass-sc7180.o
|
|
obj-$(CONFIG_SND_SOC_LPASS_SC7280) += snd-soc-lpass-sc7280.o
|
|
|
|
# Machine
|
|
snd-soc-storm-objs := storm.o
|
|
snd-soc-apq8016-sbc-objs := apq8016_sbc.o
|
|
snd-soc-apq8096-objs := apq8096.o
|
|
snd-soc-sc7180-objs := sc7180.o
|
|
snd-soc-sc7280-objs := sc7280.o
|
|
snd-soc-sdm845-objs := sdm845.o
|
|
snd-soc-sm8250-objs := sm8250.o
|
|
snd-soc-sc8280xp-objs := sc8280xp.o
|
|
snd-soc-qcom-common-objs := common.o
|
|
snd-soc-qcom-sdw-objs := sdw.o
|
|
|
|
obj-$(CONFIG_SND_SOC_STORM) += snd-soc-storm.o
|
|
obj-$(CONFIG_SND_SOC_APQ8016_SBC) += snd-soc-apq8016-sbc.o
|
|
obj-$(CONFIG_SND_SOC_MSM8996) += snd-soc-apq8096.o
|
|
obj-$(CONFIG_SND_SOC_SC7180) += snd-soc-sc7180.o
|
|
obj-$(CONFIG_SND_SOC_SC7280) += snd-soc-sc7280.o
|
|
obj-$(CONFIG_SND_SOC_SC8280XP) += snd-soc-sc8280xp.o
|
|
obj-$(CONFIG_SND_SOC_SDM845) += snd-soc-sdm845.o
|
|
obj-$(CONFIG_SND_SOC_SM8250) += snd-soc-sm8250.o
|
|
obj-$(CONFIG_SND_SOC_QCOM_COMMON) += snd-soc-qcom-common.o
|
|
obj-$(CONFIG_SND_SOC_QCOM_SDW) += snd-soc-qcom-sdw.o
|
|
|
|
#DSP lib
|
|
obj-$(CONFIG_SND_SOC_QDSP6) += qdsp6/
|