Re: [alsa-devel] [PATCH] ASoC: Intel: Add defaults for SND_SST_ options and machine drivers

From: Pierre-Louis Bossart
Date: Thu Nov 16 2017 - 18:01:19 EST

On 11/16/2017 04:24 PM, Linus Torvalds wrote:
On Thu, Nov 16, 2017 at 2:16 PM, Pierre-Louis Bossart
<pierre-louis.bossart@xxxxxxxxxxxxxxx> wrote:
Add 'default m' when sensible

This is not sensible, and is not at all what I suggested.

Actual new code should *never* be default 'm' or 'y'.

You may think it's supremely important because you maintain it, but so
does EVERY other developer for their code, and no, we don'[t want to
just default everything on.

So the only thing that should be on by default is stuff that either

(a) is a new option for something that used to not have an option at
all and was always enabled

IOW, this is a "it used to always be there, we default it on now
that we've made it optional".

(b) stuff that doesn't actually generate any code, but is there as a choice.

So this is stuff like "show me the config options for vendor XYZ".

(c) stuff that really is so common that it is the majority of users.

This is stuff like USB, or block devices, or "enable networking".

But some individual driver for some hardware that nobody has? No.

So things like this is pure garbage:

tristate "Intel ASoC SST driver for HiFi2 platforms
(*field, *trail)"
default m

because clearly "Intel ASoC SST driver for HiFi2 platforms" should not
at all default to being on for everybody.
It's only on for people who select X86 and ASoC (which isn't on by default). With make defconfig, none of this is selected and I *thought* making those suboptions default to m would help distros who don't necessarily know the status of each driver, plus what was selected is known to be conflict-free. I guess I will follow the network example and state 'this is recommended'.

This is also not *new* code, what I tried here is to reverse the selection since the existing Kconfigs selected a target and inferred what SOC options are needed, and it needs to be the other way around to share machine drivers between SST and SOF drivers. Not to mention that there is no reason for machine driver configurations to be dependent on SOC-level configs like LPSS, this should be handled elsewhere.

I will move the TOPLEVEL config to follow what you suggested with the network example, this config does not have any impact on the code. will send a v2 tomorrow. If you want to send me your config i'll be happy to check the changes are ok. Thanks.

So NAK NAK NAK on stuff like this.

Alsa-devel mailing list