Re: [alsa-devel] [RFC PATCH 1/7] ASoC: Intel: Fix Kconfig

From: Takashi Iwai
Date: Tue Nov 21 2017 - 12:07:40 EST


On Sat, 18 Nov 2017 01:01:56 +0100,
Pierre-Louis Bossart wrote:
>
> Follow network example suggested by Linus, move Intel definitions
> in if/endif block and clarify which options distro configurations
> should enable - everything except legacy Baytrail stuff and
> NOCODEC (test only)
>
> There should be no functionality change - except that sound capabilities
> are restored when using older configs without any user selection.
>
> Fixes: f6a118a800e3 ("ASoC: Intel: clarify Kconfig dependencies")
> Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>

A few another things I noticed while looking at the end result:

> config SND_SOC_INTEL_SKYLAKE
> tristate "Intel ASoC SST driver for SKL/BXT/KBL/GLK/CNL"
> - depends on SND_SOC_INTEL_SST_TOPLEVEL && PCI && ACPI
> + depends on PCI && ACPI
> select SND_HDA_EXT_CORE
> select SND_HDA_DSP_LOADER
> select SND_SOC_TOPOLOGY
> select SND_SOC_INTEL_SST
> + select SND_SOC_INTEL_COMMON
> +
> +endif ## SND_SOC_INTEL_SST_TOPLEVEL

This endif should cover the whole including the source
boards/Kconfig. In that way, deselecting SND_SOC_INTEL_SST_TOPLEVEL
will skip the whole. As of this patch, you'll be still asked about
the board config even if you say TOPLEVEL=n.

> # ASoC codec drivers
> source "sound/soc/intel/boards/Kconfig"
> +
> +# configs common to SST and SOF to compile sound/soc/intel/common
> +# directory and use matching tables
> +
> +config SND_SOC_INTEL_COMMON
> + tristate
> + select SND_SOC_ACPI_INTEL_MATCH if ACPI
> +
> +config SND_SOC_ACPI_INTEL_MATCH
> + tristate
> + select SND_SOC_ACPI if ACPI

... so here should be placed the endif.

> diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
> index 6f754708a48c..4ae44b0cea0a 100644
> --- a/sound/soc/intel/boards/Kconfig
> +++ b/sound/soc/intel/boards/Kconfig
> @@ -1,7 +1,14 @@
> -config SND_SOC_INTEL_MACH
> - tristate "Intel Audio machine drivers"
> - depends on SND_SOC_INTEL_SST_TOPLEVEL
> - select SND_SOC_ACPI_INTEL_MATCH if ACPI
> +config SND_SOC_INTEL_MACH
> + bool "Intel ASoC machine drivers"
> + default y
> + help
> + Intel ASoC Audio Machine Drivers. If you have a Intel machine that
> + has audio controller with a DSP and I2S or DMIC port, then
> + enable this option by saying Y
> +
> + Note that the answer to this question doesn't directly affect the
> + kernel: saying N will just cause the configurator to skip all
> + the questions about Intel SST machine drivers.

Do we still need this filtering? Since we have a top-level filter,
users who want to skip the Intel stuff can say N there already, and I
can't imagine anyone who want only the SST core / platform drivers
built without machine drivers explicitly.


thanks,

Takashi