Re: [PATCH] sound/pci/hda: depends on instead of select for INPUT
From: Takashi Iwai
Date: Mon Jan 15 2018 - 02:50:38 EST
On Mon, 15 Jan 2018 06:11:56 +0100,
Randy Dunlap wrote:
>
> From: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
>
> Drivers should not 'select' a subsystem. Instead they should depend
> on it. If the subsystem is disabled, the user probably did that for
> a purpose and one driver shouldn't be changing that.
>
> This also makes all sound/ drivers consistent w.r.t depending on INPUT
> instead of selecting it.
>
> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> Cc: Jaroslav Kysela <perex@xxxxxxxx>
> Cc: Takashi Iwai <tiwai@xxxxxxxx>
> Cc: alsa-devel@xxxxxxxxxxxxxxxx (moderated for non-subscribers)
> ---
> sound/pci/hda/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- lnx-415-rc8.orig/sound/pci/hda/Kconfig
> +++ lnx-415-rc8/sound/pci/hda/Kconfig
> @@ -87,8 +87,8 @@ config SND_HDA_PATCH_LOADER
>
> config SND_HDA_CODEC_REALTEK
> tristate "Build Realtek HD-audio codec support"
> + depends on INPUT
> select SND_HDA_GENERIC
> - select INPUT
This would break if INPUT=m and SND_HDA_CODEC_REALTEK=y.
Usually, we take a trick like
depends on INPUT=y || INPUT=SND_HDA_CODEC_REALTEK
But, looking at the change that introduced the dependency (commit
33f4acd3b214), the code doesn't necessarily depend on INPUT at all.
The select above was put there just because the random build with
INPUT=m and SND_HDA_CODEC_REALTEK=y would break otherwise.
The right fix in this case would be to replace IS_ENABLE(INPUT) with
IS_REACHABLE(INPUT) instead.
thanks,
Takashi