linux/sound/soc/sof
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
..
imx ASoC: SOF: sort out Kconfig, again 2020-04-30 14:39:44 +01:00
intel ASoC: snd-sof-intel-hda-common - add hda_model parameter and pass it to HDA codec driver 2020-04-24 18:00:01 +01:00
xtensa ASoC: SOF: Intel: add namespace for XTENSA 2019-12-18 20:02:21 +00:00
compress.c ASoC: sof: use snd_compress_ops 2020-04-21 19:01:58 +01:00
compress.h ASoC: sof: use snd_compress_ops 2020-04-21 19:01:58 +01:00
control.c ASoC: SOF: partition audio-related parts from SOF core 2019-12-09 18:38:57 +00:00
core.c ASoC: SOF: Generic probe compress operations 2020-02-18 21:52:07 +00:00
debug.c ASoC: SOF: Provide probe debugfs support 2020-02-18 21:52:10 +00:00
ipc.c Merge branch 'for-5.6' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-5.7 2020-03-04 13:38:36 +00:00
Kconfig ASoC: SOF: Generic probe compress operations 2020-02-18 21:52:07 +00:00
loader.c ASoC: SOF: Fix build 2020-04-22 12:23:51 +01:00
Makefile ASoC: SOF: Generic probe compress operations 2020-02-18 21:52:07 +00:00
nocodec.c ASoC: SOF: remove unneeded variables 2020-04-14 13:20:50 +01:00
ops.c ASoC: SOF: Fix a compile warning with CONFIG_PCI=n 2019-05-07 11:23:57 +09:00
ops.h ASoC: SOF: Generic probe compress operations 2020-02-18 21:52:07 +00:00
pcm.c ASoC: sof: use snd_compress_ops 2020-04-21 19:01:58 +01:00
pm.c ASoC: SOF: Move DSP power state transitions to platform-specific ops 2020-02-11 11:48:05 +00:00
probe.c ASoC: SOF: Fix probe point getter 2020-03-10 13:50:59 +00:00
probe.h ASoC: SOF: Implement Probe IPC API 2020-02-18 21:52:06 +00:00
sof-acpi-dev.c ASoC: SOF: move arch_ops under ops 2019-12-18 20:02:02 +00:00
sof-audio.c ASoC: sof: sof-audio: use for_each_pcm_streams() macro 2020-02-18 23:37:12 +00:00
sof-audio.h ASoC: SOF: fix uninitialised "work" with VirtIO 2020-03-26 18:31:14 +00:00
sof-of-dev.c ASoC: SOF: Add i.MX8MP device descriptor 2020-04-15 23:28:07 +01:00
sof-pci-dev.c ASoC: SOF: Intel: add PCI ID for ElkhartLake 2020-04-14 14:34:04 +01:00
sof-priv.h ASoC: sof: use snd_compress_ops 2020-04-21 19:01:58 +01:00
topology.c ASoC: SOF: topology: handle multiple sets of tuple arrays 2020-04-16 00:23:19 +01:00
trace.c ASoC: SOF: trace: fix unconditional free in trace release 2020-01-27 17:52:09 +00:00
utils.c ASoC: SOF: core: modify the signature for snd_sof_create_page_table 2019-12-09 18:38:01 +00:00