If the SPI driver is not compiled in then the RT5677_SPI driver will not be included as well which will cause the bdw-rt5677 driver to fail to probe since the DSP components are managed by the RT5677_SPI driver. The solution is to remove them when the driver is not present as part of the build.
Signed-off-by: Curtis Malainey cujomalainey@chromium.org Cc: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com CC: Pan Xiuli xiuli.pan@linux.intel.com --- sound/soc/intel/boards/bdw-rt5677.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/sound/soc/intel/boards/bdw-rt5677.c b/sound/soc/intel/boards/bdw-rt5677.c index 2af8e5a62da84..d5ded2c545d2c 100644 --- a/sound/soc/intel/boards/bdw-rt5677.c +++ b/sound/soc/intel/boards/bdw-rt5677.c @@ -74,11 +74,13 @@ static const struct snd_soc_dapm_route bdw_rt5677_map[] = { /* CODEC BE connections */ {"SSP0 CODEC IN", NULL, "AIF1 Capture"}, {"AIF1 Playback", NULL, "SSP0 CODEC OUT"}, +#if IS_ENABLED(CONFIG_SND_SOC_RT5677_SPI) {"DSP Capture", NULL, "DSP Buffer"},
/* DSP Clock Connections */ { "DSP Buffer", NULL, "SSP0 CODEC IN" }, { "SSP0 CODEC IN", NULL, "DSPTX" }, +#endif };
static const struct snd_kcontrol_new bdw_rt5677_controls[] = { @@ -319,6 +321,7 @@ static struct snd_soc_dai_link bdw_rt5677_dais[] = { SND_SOC_DAILINK_REG(fe, dummy, platform), },
+#if IS_ENABLED(CONFIG_SND_SOC_RT5677_SPI) /* Non-DPCM links */ { .name = "Codec DSP", @@ -326,6 +329,7 @@ static struct snd_soc_dai_link bdw_rt5677_dais[] = { .ops = &bdw_rt5677_dsp_ops, SND_SOC_DAILINK_REG(dsp), }, +#endif
/* Back End DAI links */ {