Re: [alsa-devel] [PATCH] ASoC: Intel: fix Kconfig dependencies

From: Pierre-Louis Bossart
Date: Thu Nov 02 2017 - 08:43:47 EST


On 11/2/17 6:07 AM, Arnd Bergmann wrote:
I ran into multiple problems during randconfig builds of the
recently changed Kconfig logic for Intel ASoC drivers:

we did quite a bit of testing on this change, looks like we missed a number of cases. Gah.


- Building without DMADEVICES doesn't work in general

the Intel audio hardware has its own DMA in general, be it based on DesignWare controlled by audio firmware or HDaudio, not sure if/why this dependency is needed across the board?

- With that dependency added, we can relax the 'depends
on X86' again and allow compile-testing, except for
SND_SST_ATOM_HIFI2_PLATFORM, which depends on X86
for asm/platform_sst_audio. > - Skylake requires SND_SOC_INTEL_SST_ACPI, so we
have to depend on ACPI in turn
- Haswell needs SND_DMA_SGBUF for snd_sgbuf_aligned_pages()

This one is surprising as well, this was not there before so it either was not detected or is not needed?


With the new set of dependencies, I no longer get any build
failures.

Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
---
sound/soc/intel/Kconfig | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
index a59dda39007e..e18118209b75 100644
--- a/sound/soc/intel/Kconfig
+++ b/sound/soc/intel/Kconfig
@@ -31,13 +31,14 @@ config SND_SOC_ACPI_INTEL_MATCH
config SND_SOC_INTEL_SST_TOPLEVEL
tristate "Intel ASoC SST drivers"
- depends on X86
+ depends on X86 || COMPILE_TEST
+ depends on DMADEVICES
select SND_SOC_INTEL_MACH
select SND_SOC_INTEL_COMMON
config SND_SOC_INTEL_HASWELL
tristate "Intel ASoC SST driver for Haswell/Broadwell"
- depends on SND_SOC_INTEL_SST_TOPLEVEL
+ depends on SND_SOC_INTEL_SST_TOPLEVEL && SND_DMA_SGBUF
select SND_SOC_INTEL_SST
select SND_SOC_INTEL_SST_FIRMWARE
@@ -49,12 +50,12 @@ config SND_SOC_INTEL_BAYTRAIL
config SND_SST_ATOM_HIFI2_PLATFORM
tristate "Intel ASoC SST driver for HiFi2 platforms (*field, *trail)"
- depends on SND_SOC_INTEL_SST_TOPLEVEL
+ depends on SND_SOC_INTEL_SST_TOPLEVEL && X86
select SND_SOC_COMPRESS
config SND_SOC_INTEL_SKYLAKE
tristate "Intel ASoC SST driver for SKL/BXT/KBL/GLK/CNL"
- depends on SND_SOC_INTEL_SST_TOPLEVEL
+ depends on SND_SOC_INTEL_SST_TOPLEVEL && PCI && ACPI
select SND_HDA_EXT_CORE
select SND_HDA_DSP_LOADER
select SND_SOC_TOPOLOGY