On Wed, Dec 16, 2020 at 11:55 AM Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx> wrote: > > 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... Well, this happens: ERROR: modpost: "skl_dsp_set_dma_control" [sound/soc/intel/skylake/snd-soc-skl-ssp-clk.ko] undefined! make[1]: *** [scripts/Makefile.modpost:111: sound/Module.symvers] Error 1 make[1]: *** Deleting file 'sound/Module.symvers' make: *** [Makefile:1709: modules] Error 2 Kai-Heng > > 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 > > > >