mirror of
https://github.com/torvalds/linux.git
synced 2024-12-11 05:33:09 +00: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>
225 lines
5.2 KiB
Plaintext
225 lines
5.2 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
menuconfig SND_SOC_QCOM
|
|
tristate "ASoC support for QCOM platforms"
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
help
|
|
Say Y or M if you want to add support to use audio devices
|
|
in Qualcomm Technologies SOC-based platforms.
|
|
|
|
if SND_SOC_QCOM
|
|
|
|
config SND_SOC_LPASS_CPU
|
|
tristate
|
|
select REGMAP_MMIO
|
|
|
|
config SND_SOC_LPASS_HDMI
|
|
tristate
|
|
select REGMAP_MMIO
|
|
|
|
config SND_SOC_LPASS_PLATFORM
|
|
tristate
|
|
select REGMAP_MMIO
|
|
|
|
config SND_SOC_LPASS_CDC_DMA
|
|
tristate
|
|
select REGMAP_MMIO
|
|
|
|
config SND_SOC_LPASS_IPQ806X
|
|
tristate
|
|
select SND_SOC_LPASS_CPU
|
|
select SND_SOC_LPASS_PLATFORM
|
|
|
|
config SND_SOC_LPASS_APQ8016
|
|
tristate
|
|
select SND_SOC_LPASS_CPU
|
|
select SND_SOC_LPASS_PLATFORM
|
|
|
|
config SND_SOC_LPASS_SC7180
|
|
tristate
|
|
select SND_SOC_LPASS_CPU
|
|
select SND_SOC_LPASS_PLATFORM
|
|
select SND_SOC_LPASS_HDMI
|
|
|
|
config SND_SOC_LPASS_SC7280
|
|
tristate
|
|
select SND_SOC_LPASS_CPU
|
|
select SND_SOC_LPASS_PLATFORM
|
|
select SND_SOC_LPASS_HDMI
|
|
select SND_SOC_LPASS_CDC_DMA
|
|
|
|
config SND_SOC_STORM
|
|
tristate "ASoC I2S support for Storm boards"
|
|
depends on GPIOLIB
|
|
select SND_SOC_LPASS_IPQ806X
|
|
select SND_SOC_MAX98357A
|
|
help
|
|
Say Y or M if you want add support for SoC audio on the
|
|
Qualcomm Technologies IPQ806X-based Storm board.
|
|
|
|
config SND_SOC_APQ8016_SBC
|
|
tristate "SoC Audio support for APQ8016 SBC platforms"
|
|
select SND_SOC_LPASS_APQ8016
|
|
select SND_SOC_QCOM_COMMON
|
|
help
|
|
Support for Qualcomm Technologies LPASS audio block in
|
|
APQ8016 SOC-based systems.
|
|
Say Y if you want to use audio devices on MI2S.
|
|
|
|
config SND_SOC_QCOM_COMMON
|
|
tristate
|
|
|
|
config SND_SOC_QCOM_SDW
|
|
tristate
|
|
|
|
config SND_SOC_QDSP6_COMMON
|
|
tristate
|
|
|
|
config SND_SOC_QDSP6_CORE
|
|
tristate
|
|
|
|
config SND_SOC_QDSP6_AFE
|
|
tristate
|
|
|
|
config SND_SOC_QDSP6_AFE_DAI
|
|
tristate
|
|
|
|
config SND_SOC_QDSP6_AFE_CLOCKS
|
|
tristate
|
|
|
|
config SND_SOC_QDSP6_ADM
|
|
tristate
|
|
|
|
config SND_SOC_QDSP6_ROUTING
|
|
tristate
|
|
|
|
config SND_SOC_QDSP6_ASM
|
|
tristate
|
|
|
|
config SND_SOC_QDSP6_ASM_DAI
|
|
select SND_SOC_COMPRESS
|
|
tristate
|
|
|
|
config SND_SOC_QDSP6_APM_DAI
|
|
tristate
|
|
select SND_SOC_COMPRESS
|
|
|
|
config SND_SOC_QDSP6_APM_LPASS_DAI
|
|
tristate
|
|
|
|
config SND_SOC_QDSP6_APM
|
|
tristate
|
|
select SND_SOC_QDSP6_APM_DAI
|
|
select SND_SOC_QDSP6_APM_LPASS_DAI
|
|
|
|
config SND_SOC_QDSP6_PRM_LPASS_CLOCKS
|
|
tristate
|
|
|
|
config SND_SOC_QDSP6_PRM
|
|
tristate
|
|
select SND_SOC_QDSP6_PRM_LPASS_CLOCKS
|
|
|
|
config SND_SOC_QDSP6
|
|
tristate "SoC ALSA audio driver for QDSP6"
|
|
depends on QCOM_APR
|
|
depends on COMMON_CLK
|
|
select SND_SOC_QDSP6_COMMON
|
|
select SND_SOC_QDSP6_CORE
|
|
select SND_SOC_QDSP6_AFE
|
|
select SND_SOC_QDSP6_AFE_DAI
|
|
select SND_SOC_QDSP6_AFE_CLOCKS
|
|
select SND_SOC_QDSP6_ADM
|
|
select SND_SOC_QDSP6_ROUTING
|
|
select SND_SOC_QDSP6_ASM
|
|
select SND_SOC_QDSP6_ASM_DAI
|
|
select SND_SOC_TOPOLOGY
|
|
select SND_SOC_QDSP6_APM
|
|
select SND_SOC_QDSP6_PRM
|
|
help
|
|
To add support for MSM QDSP6 Soc Audio.
|
|
This will enable sound soc platform specific
|
|
audio drivers. This includes q6asm, q6adm,
|
|
q6afe interfaces to DSP using apr.
|
|
|
|
config SND_SOC_MSM8996
|
|
tristate "SoC Machine driver for MSM8996 and APQ8096 boards"
|
|
depends on QCOM_APR
|
|
depends on COMMON_CLK
|
|
select SND_SOC_QDSP6
|
|
select SND_SOC_QCOM_COMMON
|
|
help
|
|
Support for Qualcomm Technologies LPASS audio block in
|
|
APQ8096 SoC-based systems.
|
|
Say Y if you want to use audio device on this SoCs
|
|
|
|
config SND_SOC_SDM845
|
|
tristate "SoC Machine driver for SDM845 boards"
|
|
depends on QCOM_APR && I2C && SOUNDWIRE
|
|
depends on COMMON_CLK
|
|
select SND_SOC_QDSP6
|
|
select SND_SOC_QCOM_COMMON
|
|
select SND_SOC_RT5663
|
|
select SND_SOC_MAX98927
|
|
imply SND_SOC_CROS_EC_CODEC
|
|
help
|
|
To add support for audio on Qualcomm Technologies Inc.
|
|
SDM845 SoC-based systems.
|
|
Say Y if you want to use audio device on this SoCs.
|
|
|
|
config SND_SOC_SM8250
|
|
tristate "SoC Machine driver for SM8250 boards"
|
|
depends on QCOM_APR && SOUNDWIRE
|
|
depends on COMMON_CLK
|
|
select SND_SOC_QDSP6
|
|
select SND_SOC_QCOM_COMMON
|
|
select SND_SOC_QCOM_SDW
|
|
help
|
|
To add support for audio on Qualcomm Technologies Inc.
|
|
SM8250 SoC-based systems.
|
|
Say Y if you want to use audio device on this SoCs.
|
|
|
|
config SND_SOC_SC8280XP
|
|
tristate "SoC Machine driver for SC8280XP boards"
|
|
depends on QCOM_APR && SOUNDWIRE
|
|
depends on COMMON_CLK
|
|
select SND_SOC_QDSP6
|
|
select SND_SOC_QCOM_COMMON
|
|
select SND_SOC_QCOM_SDW
|
|
help
|
|
To add support for audio on Qualcomm Technologies Inc.
|
|
SC8280XP SoC-based systems.
|
|
Say Y if you want to use audio device on this SoCs.
|
|
|
|
config SND_SOC_SC7180
|
|
tristate "SoC Machine driver for SC7180 boards"
|
|
depends on I2C && GPIOLIB
|
|
depends on SOUNDWIRE || SOUNDWIRE=n
|
|
select SND_SOC_QCOM_COMMON
|
|
select SND_SOC_LPASS_SC7180
|
|
select SND_SOC_MAX98357A
|
|
select SND_SOC_RT5682_I2C
|
|
select SND_SOC_RT5682S
|
|
select SND_SOC_ADAU7002
|
|
help
|
|
To add support for audio on Qualcomm Technologies Inc.
|
|
SC7180 SoC-based systems.
|
|
Say Y if you want to use audio device on this SoCs.
|
|
|
|
config SND_SOC_SC7280
|
|
tristate "SoC Machine driver for SC7280 boards"
|
|
depends on I2C && SOUNDWIRE
|
|
select SND_SOC_QCOM_COMMON
|
|
select SND_SOC_LPASS_SC7280
|
|
select SND_SOC_MAX98357A
|
|
select SND_SOC_WCD938X_SDW
|
|
select SND_SOC_LPASS_MACRO_COMMON
|
|
imply SND_SOC_LPASS_RX_MACRO
|
|
imply SND_SOC_LPASS_TX_MACRO
|
|
select SND_SOC_RT5682_I2C
|
|
select SND_SOC_RT5682S
|
|
help
|
|
Add support for audio on Qualcomm Technologies Inc.
|
|
SC7280 SoC-based systems.
|
|
Say Y or M if you want to use audio device on this SoCs.
|
|
|
|
endif #SND_SOC_QCOM
|