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).
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:
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