On Wed, Dec 16, 2020 at 1:59 AM Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> wrote: > > > > >>> Something's not adding up here. > >> > >> Seems like you can enable CONFIG_SND_SOC_INTEL_KBL (and all other > >> platforms), without enabling CONFIG_SND_SOC_INTEL_SKYLAKE, which enables > >> building of snd_soc_skl module... I would say that there is something > >> wrong with module dependencies in Kconfig :/ > > rather the Makefile is wrong, see below. > > > > > Yes that's exactly what happened here. > > So I wonder why we need to separate CONFIG_SND_SOC_INTEL_SKYLAKE from > > other configs... > > > >> Will look at it tomorrow. In the meantime any chance we can get the > >> config which was used, to confirm my suspicion? > > > > Ubuntu 5.8 kernel has this: > > # CONFIG_SND_SOC_INTEL_SKYLAKE is not set > > CONFIG_SND_SOC_INTEL_SKL=m > > CONFIG_SND_SOC_INTEL_APL=m > > CONFIG_SND_SOC_INTEL_KBL=m > > CONFIG_SND_SOC_INTEL_GLK=m > > # CONFIG_SND_SOC_INTEL_CNL is not set > > # CONFIG_SND_SOC_INTEL_CFL is not set > > # CONFIG_SND_SOC_INTEL_CML_H is not set > > # CONFIG_SND_SOC_INTEL_CML_LP is not set > > CONFIG_SND_SOC_INTEL_SKYLAKE_FAMILY=m > > CONFIG_SND_SOC_INTEL_SKYLAKE_SSP_CLK=m > > # CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC is not set > > that would be needed to support DMIC+HDaudio platforms (with the > Connexant restriction). So should I enable this option? Is it safe for platforms with Connexant codec? > > > CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON=m > > > > So I guess we can do something like this? > > diff --git a/sound/hda/intel-dsp-config.c b/sound/hda/intel-dsp-config.c > > index 1c5114dedda9..c8142520532e 100644 > > --- a/sound/hda/intel-dsp-config.c > > +++ b/sound/hda/intel-dsp-config.c > > @@ -417,7 +417,7 @@ int snd_intel_dsp_driver_probe(struct pci_dev *pci) > > return SND_INTEL_DSP_DRIVER_SOF; > > } > > > > - > > +#if IS_REACHABLE(CONFIG_SND_SOC_INTEL_SKYLAKE) > > if (cfg->flags & FLAG_SST) { > > if (cfg->flags & FLAG_SST_ONLY_IF_DMIC) { > > if (snd_intel_dsp_check_dmic(pci)) { > > @@ -428,6 +428,7 @@ int snd_intel_dsp_driver_probe(struct pci_dev *pci) > > return SND_INTEL_DSP_DRIVER_SST; > > } > > } > > +#endif > > > > return SND_INTEL_DSP_DRIVER_LEGACY; > > } > > > > Kai-Heng > > Can you try this instead, the dependencies are indeed wrong in the Makefile: Ok, compiling a kernel for user to test... Kai-Heng > > diff --git a/sound/soc/intel/Makefile b/sound/soc/intel/Makefile > index 4e0248d2accc..7c5038803be7 100644 > --- a/sound/soc/intel/Makefile > +++ b/sound/soc/intel/Makefile > @@ -5,7 +5,7 @@ obj-$(CONFIG_SND_SOC) += common/ > # Platform Support > obj-$(CONFIG_SND_SST_ATOM_HIFI2_PLATFORM) += atom/ > obj-$(CONFIG_SND_SOC_INTEL_CATPT) += catpt/ > -obj-$(CONFIG_SND_SOC_INTEL_SKYLAKE) += skylake/ > +obj-$(CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON) += skylake/ > obj-$(CONFIG_SND_SOC_INTEL_KEEMBAY) += keembay/ > > # Machine support > >