linux_dsm_epyc7002/sound/soc
Arnd Bergmann f9dfa8f254
ASoC: SOF: sort out Kconfig, again
The imx8 config keeps causing issues:

WARNING: unmet direct dependencies detected for SND_SOC_SOF_IMX8M
  Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=m] && SND_SOC_SOF_TOPLEVEL [=y] && SND_SOC_SOF_IMX_TOPLEVEL [=y] && IMX_DSP [=n]
  Selected by [m]:
  - SND_SOC_SOF_IMX_OF [=m] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=m] && SND_SOC_SOF_TOPLEVEL [=y] && SND_SOC_SOF_IMX_TOPLEVEL [=y] && SND_SOC_SOF_IMX8M_SUPPORT [=y]

This is complicated by two drivers having dependencies on both
platform specific drivers and the SND_SOC_SOF_OF framework code,
and using an somewhat obscure method to build them the same way
as the SOC_SOF_OF symbol (built-in or modular).

My solution now ensures that the two drivers can only be enabled
when the dependencies are met:

- When the platform specific drivers are built-in, everything is
  fine, as SOC_SOF_OF is either =y or =m

- When both are loadable modules, it also works, both for Kconfig
  and at runtime

- When the hardware drivers are loadable modules or disabled, and
  SOC_SOF_OF=y, prevent the IMX_SOF_OF drivers from being turned on,
  as this would be broken.

It seems that this is just an elaborate way to describe two tristate
symbols that have straight dependencies, but maybe I'm missing some
subtle point. It seems to always build for me now.

Fixes: fe57a92c88 ("ASoC: SOF: Add missing dependency on IMX_SCU")
Fixes: afb93d7165 ("ASoC: SOF: imx: Add i.MX8M HW support")
Fixes: cb0312f61c ("ASoC: SOF: imx: fix undefined reference issue")
Fixes: afb93d7165 ("ASoC: SOF: imx: Add i.MX8M HW support")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Acked-by: Daniel Baluta <daniel.baluta@nxp.com>
Link: https://lore.kernel.org/r/20200428212752.2901778-1-arnd@arndb.de
Signed-off-by: Mark Brown <broonie@kernel.org>
2020-04-30 14:39:44 +01:00
..
adi treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 177 2019-05-30 11:29:19 -07:00
amd ASoC: amd: Fix button configuration 2020-04-14 12:59:13 +01:00
atmel ASoC: atmel: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:31 +00:00
au1x ASoC: au1x: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:32 +00:00
bcm ASoC: bcm: Fix pointer cast warning 2020-03-30 15:32:34 +01:00
cirrus ASoC: cirrus: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:34 +00:00
codecs ASoC: rt5682: fix I2C/Soundwire dependencies 2020-04-29 17:21:34 +01:00
dwc ASoC: dwc: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:35 +00:00
fsl ASoC: fsl_easrc: mark PM functions __maybe_unused 2020-04-29 17:21:32 +01:00
generic ASoC: generic: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:36 +00:00
hisilicon ASoC: hisilicon: Use the defined variable to clean code 2020-04-27 14:08:44 +01:00
img ASoC: img: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:37 +00:00
intel Merge series "Kconfig updates for DMIC and SOF HDMI support" from Ranjani Sridharan <ranjani.sridharan@linux.intel.com>: 2020-04-28 16:40:38 +01:00
jz4740 ASoC: jz4740-i2s: Add support for the JZ4770 2020-03-24 17:16:01 +00:00
kirkwood ASoC: kirkwood: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:39 +00:00
mediatek ASoC: mediatek: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:40 +00:00
meson ASoC: meson: gx-card: fix codec-to-codec link setup 2020-04-20 13:58:22 +01:00
mxs ASoC: mxs-saif: Fix unused assignment 2020-04-29 14:23:19 +01:00
pxa Merge series "ASoC: remove rtd->cpu/codec_dai{s}" from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>: 2020-03-27 15:33:10 +00:00
qcom ASoC: qcom: q6sp6: use snd_compress_ops 2020-04-21 19:01:57 +01:00
rockchip ASoC: rockchip: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:45 +00:00
samsung ASoC: samsung: s3c24xx-i2s: Fix build after removal of DAI suspend/resume 2020-04-14 12:16:22 +01:00
sh ASoC: rsnd: Fix "status check failed" spam for multi-SSI 2020-04-20 14:16:18 +01:00
sirf ASoC: sirf: use devm_platform_ioremap_resource() to simplify code 2019-07-31 12:05:39 +01:00
sof ASoC: SOF: sort out Kconfig, again 2020-04-30 14:39:44 +01:00
spear ASoC: spear: use devm_platform_ioremap_resource() to simplify code 2019-07-31 12:06:18 +01:00
sprd ASoC: sprd: use snd_compress_ops 2020-04-21 19:01:59 +01:00
sti ASoC: sti: sti_uniperif: move .suspend/.resume to component 2020-01-21 17:04:37 +00:00
stm ASoC: stm32: sai: fix sai probe 2020-04-17 19:37:14 +01:00
sunxi ASoC: sunxi: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:50 +00:00
tegra ASoC: tegra: tegra_wm8903: Use devm_snd_soc_register_card() 2020-04-28 16:40:36 +01:00
ti ASoC: ti: remove comparison to bool in omap_mcbsp_dai_set_dai_fmt() 2020-04-27 14:08:42 +01:00
txx9 ASoC: txx9: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:53 +00:00
uniphier ASoC: uniphier: use snd_compress_ops 2020-04-21 19:01:56 +01:00
ux500 ASoC: ux500: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:54 +00:00
xilinx ASoC: xilinx: Use managed buffer allocation 2019-12-11 16:43:25 +00:00
xtensa ASoC: xtensa: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:55 +00:00
zte ASoC: zte: zx-tdm: remove redundant variables dev 2020-03-11 17:59:49 +00:00
Kconfig ASoC: remove w90x900/nuc900 platform drivers 2019-08-12 14:00:29 +01:00
Makefile ASoC: remove w90x900/nuc900 platform drivers 2019-08-12 14:00:29 +01:00
soc-ac97.c
soc-acpi.c ASoC: soc-acpi: fix implicit header use of module.h/export.h 2019-05-08 18:06:28 +09:00
soc-component.c ASoC: soc-component: tidyup snd_soc_pcm_component_sync_stop() 2020-02-28 17:06:09 +00:00
soc-compress.c ASoC: soc-dai: add snd_soc_dai_compr_get_metadata() 2020-04-29 13:27:50 +01:00
soc-core.c ASoC: soc-dai: add snd_soc_pcm_dai_remove() 2020-04-29 13:27:41 +01:00
soc-dai.c ASoC: soc-dai: add snd_soc_dai_compr_get_metadata() 2020-04-29 13:27:50 +01:00
soc-dapm.c Merge series "ASoC: Fix dependency issues of SND_SOC" from Wei Li <liwei391@huawei.com>: 2020-04-20 15:27:09 +01:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: soc: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-04-14 14:00:44 +01:00
soc-io.c
soc-jack.c ASoC: Jack: Fix NULL pointer dereference in snd_soc_jack_report 2019-11-12 17:12:56 +00:00
soc-ops.c ASoC: fix regwmask 2020-03-30 18:22:36 +01:00
soc-pcm.c ASoC: soc-dai: add snd_soc_pcm_dai_bespoke_trigger() 2020-04-29 13:27:39 +01:00
soc-topology.c Merge series "Add support for SOF on i.MX8M" from Daniel Baluta <daniel.baluta@oss.nxp.com> 2020-04-16 00:23:20 +01:00
soc-utils.c ASoC: utils: Drop superfluous ioctl PCM ops 2019-12-11 16:00:48 +00:00