On Wed, 15 Nov 2017 12:37:42 +0100, Mark Brown wrote:
On Wed, Nov 15, 2017 at 08:34:09AM +0100, Takashi Iwai wrote:
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.
I'm not 100% convinced that the recent changes away from just having the only user selectable options be the board ones have really helped that much.
Yeah, now it resulted in a mixture of selects and depends, which is a bad sign. I'm not against this kind of reorganization but we need to sort out more.
Though transitioning back would probably just create more misery. It's a real shame that ACPI doesn't have standards for the machine descriptions here like DT does, it'd cut down on the amount of stuff that needs configuring.
True. Although I don't think ACPI is the center of the mess in this case, but rather too many kconfigs is it.
In soc/intel/*, we have the following entries:
as non-selectable ones: - SND_SST_IPC - SND_SST_IPC_PCI - SND_SST_IPC_ACPI - SND_SOC_INTEL_COMMON - SND_SOC_INTEL_SST - SND_SOC_INTEL_SST_FIRMWARE - SND_SOC_INTEL_SST_ACPI - SND_SOC_ACPI_INTEL_MATCH
and the selectable ones: - SND_SOC_INTEL_SST_TOPLEVEL - SND_SOC_INTEL_HASWELL - SND_SOC_INTEL_BAYTRAIL - SND_SST_ATOM_HIFI2_PLATFORM - SND_SOC_INTEL_SKYLAKE
And yet, there are tons of machine drivers as selectable kconfigs: - SND_SOC_INTEL_MACH - SND_MFLD_MACHINE - SND_SOC_INTEL_HASWELL_MACH - SND_SOC_INTEL_BDW_RT5677_MACH - SND_SOC_INTEL_BROADWELL_MACH - SND_SOC_INTEL_BYT_MAX98090_MACH - SND_SOC_INTEL_BYT_RT5640_MACH - SND_SOC_INTEL_BYTCR_RT5640_MACH - SND_SOC_INTEL_BYTCR_RT5651_MACH - SND_SOC_INTEL_CHT_BSW_RT5672_MACH - SND_SOC_INTEL_CHT_BSW_RT5645_MACH - SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH - SND_SOC_INTEL_BYT_CHT_DA7213_MACH - SND_SOC_INTEL_BYT_CHT_ES8316_MACH - SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH - SND_SOC_INTEL_SKL_RT286_MACH - SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH - SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH - SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH - SND_SOC_INTEL_BXT_RT298_MACH - SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH - SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH
We should begin with thinking of which entries (and layer) to be selectable, and which not.
Takashi