Re: [GIT PULL] sound updates for 4.15-rc1

From: Takashi Iwai
Date: Wed Nov 15 2017 - 02:34:22 EST


[Adding more people and alsa-devel to Cc]

On Wed, 15 Nov 2017 03:40:09 +0100,
Linus Torvalds wrote:
>
> On Tue, Nov 14, 2017 at 6:51 AM, Takashi Iwai <tiwai@xxxxxxx> wrote:
> >
> > please pull sound updates for v4.15-rc1 from:
>
> Hmm. Making "oldconfig" on my laptop with this, my
> SND_SOC_INTEL_SKYLAKE went away.
>
> And the reason seems to be that new SND_SOC_INTEL_SST_TOPLEVEL config option.
>
> Which has no help associated with it.
>
> This is not a friendly thing to do to people. It basically breaks
> existing setups for no documented reason, and with no explanation.
>
> Please fix the config situation. At the very least, add documentation.

Sorry about that. I saw Vinod already submitted a patch to add the
help text to CONFIG_SND_SOC_INTEL_SST_TOPLEVEL, so the least fix
should go in soon.

But now looking at these changes, I noticed a few things, too:

- With the introduction of SND_SOC_INTEL_SST_TOPLEVEL, keeping
SND_SOC_INTEL_COMMON and SND_SOC_INTEL_MACH individually doesn't
make much sense. They can be dropped and replaced with
SND_SOC_INTEL_SST_TOPLEVEL as a further cleanup.

- ... or, make SND_SOC_INTEL_SST_TOPLEVEL=y as default, if this is
considered to be a top-level filter config (like the network vendor
kconfig items). In that case, the reverse-selection of
SND_SOC_INTEL_COMMON and SND_SOC_INTEL_MACH should be avoided, but
they should be selected from the actual drivers instead.


And I believe there are a few more possible cleanups / fixes in the
messy Intel ASoC Kconfigs. For example, SND_SOC_INTEL_SST is almost
always set. The only exception is via SND_SST_ATOM_HIFI2_PLATFORM.
But all machine drivers using Atom Hifi2 do set SND_SST_IPC_ACPI,
which also requires SND_SOC_INTEL_SST.

Further looking at this, we see that the only entry that does *not*
require SND_SOC_INTEL_SST is the case with SND_MFLD_MACHINE in
sound/soc/intel/boards. And now more interesting part -- there is no
corresponding entry in Makefile. That is, this kconfig is effectively
dead! The source code mfld_machine.c exists, but it's just a place
holder now. The code was supposed to be integrated into atom
directory by the commit b97169da0699, but it seems forgotten to be
updated.

Hmm...


Takashi