summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2019-06-27 21:47:18 -0400
committerMark Brown <broonie@kernel.org>2019-06-28 10:11:17 -0400
commit9998d3e2add865723a4dffabaa0a8c12c7ee589b (patch)
treefa4f5bc75e7fdc1456d35d8e5106c97a6fb0c65b
parent68707c37017086c51b319098afb2cf6d6853ef57 (diff)
ASoC: fsl: fsl-asoc-card: consider CPU-Platform possibility
commit e57a4c2f15df27 ("ASoC: fsl: fsl-asoc-card: don't select unnecessary Platform") Current ALSA SoC avoid to add duplicate component to rtd, and this driver was selecting CPU component as Platform component. Thus, above patch removed Platform settings from this driver, because it assumed these are same component. But, some CPU driver is using generic DMAEngine, in such case, both CPU component and Platform component will have same of_node/name. In other words, there are some components which are different but have same of_node/name. In such case, Card driver definitely need to select Platform even though it is same as CPU. It is depends on CPU driver, but is difficult to know it from Card driver. This patch reverts above patch. Fixes: commit e57a4c2f15df27 ("ASoC: fsl: fsl-asoc-card: don't select unnecessary Platform") Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/fsl/fsl-asoc-card.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sound/soc/fsl/fsl-asoc-card.c b/sound/soc/fsl/fsl-asoc-card.c
index 55a7e09170fb..39ea9bda1394 100644
--- a/sound/soc/fsl/fsl-asoc-card.c
+++ b/sound/soc/fsl/fsl-asoc-card.c
@@ -202,11 +202,13 @@ static int be_hw_params_fixup(struct snd_soc_pcm_runtime *rtd,
202 202
203SND_SOC_DAILINK_DEFS(hifi, 203SND_SOC_DAILINK_DEFS(hifi,
204 DAILINK_COMP_ARRAY(COMP_EMPTY()), 204 DAILINK_COMP_ARRAY(COMP_EMPTY()),
205 DAILINK_COMP_ARRAY(COMP_EMPTY()),
205 DAILINK_COMP_ARRAY(COMP_EMPTY())); 206 DAILINK_COMP_ARRAY(COMP_EMPTY()));
206 207
207SND_SOC_DAILINK_DEFS(hifi_fe, 208SND_SOC_DAILINK_DEFS(hifi_fe,
208 DAILINK_COMP_ARRAY(COMP_EMPTY()), 209 DAILINK_COMP_ARRAY(COMP_EMPTY()),
209 DAILINK_COMP_ARRAY(COMP_DUMMY())); 210 DAILINK_COMP_ARRAY(COMP_DUMMY()),
211 DAILINK_COMP_ARRAY(COMP_EMPTY()));
210 212
211SND_SOC_DAILINK_DEFS(hifi_be, 213SND_SOC_DAILINK_DEFS(hifi_be,
212 DAILINK_COMP_ARRAY(COMP_EMPTY()), 214 DAILINK_COMP_ARRAY(COMP_EMPTY()),
@@ -654,12 +656,14 @@ static int fsl_asoc_card_probe(struct platform_device *pdev)
654 } 656 }
655 } 657 }
656 658
659 priv->dai_link[0].platforms->of_node = cpu_np;
657 priv->dai_link[0].dai_fmt = priv->dai_fmt; 660 priv->dai_link[0].dai_fmt = priv->dai_fmt;
658 priv->card.num_links = 1; 661 priv->card.num_links = 1;
659 662
660 if (asrc_pdev) { 663 if (asrc_pdev) {
661 /* DPCM DAI Links only if ASRC exsits */ 664 /* DPCM DAI Links only if ASRC exsits */
662 priv->dai_link[1].cpus->of_node = asrc_np; 665 priv->dai_link[1].cpus->of_node = asrc_np;
666 priv->dai_link[1].platforms->of_node = asrc_np;
663 priv->dai_link[2].codecs->dai_name = codec_dai_name; 667 priv->dai_link[2].codecs->dai_name = codec_dai_name;
664 priv->dai_link[2].codecs->of_node = codec_np; 668 priv->dai_link[2].codecs->of_node = codec_np;
665 priv->dai_link[2].codecs->name = 669 priv->dai_link[2].codecs->name =