aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2019-06-27 21:48:27 -0400
committerMark Brown <broonie@kernel.org>2019-06-28 10:16:22 -0400
commit74a25f36ba7af991c1133a5ce75d8f0a65ed3c7c (patch)
tree702f7191341a670a3f55adf40016863b438a2f18
parent3dfc3e9c24b742067bbcbf849caba294bdb938f6 (diff)
ASoC: samsung: tm2_wm5110: consider CPU-Platform possibility
commit ae7cbcc43b8c ("ASoC: samsung: tm2_wm5110: 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 ae7cbcc43b8c ("ASoC: samsung: tm2_wm5110: 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/samsung/tm2_wm5110.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/sound/soc/samsung/tm2_wm5110.c b/sound/soc/samsung/tm2_wm5110.c
index a80781031f62..c091033d17ad 100644
--- a/sound/soc/samsung/tm2_wm5110.c
+++ b/sound/soc/samsung/tm2_wm5110.c
@@ -429,18 +429,22 @@ static struct snd_soc_dai_driver tm2_ext_dai[] = {
429 429
430SND_SOC_DAILINK_DEFS(aif1, 430SND_SOC_DAILINK_DEFS(aif1,
431 DAILINK_COMP_ARRAY(COMP_CPU(SAMSUNG_I2S_DAI)), 431 DAILINK_COMP_ARRAY(COMP_CPU(SAMSUNG_I2S_DAI)),
432 DAILINK_COMP_ARRAY(COMP_CODEC(NULL, "wm5110-aif1"))); 432 DAILINK_COMP_ARRAY(COMP_CODEC(NULL, "wm5110-aif1")),
433 DAILINK_COMP_ARRAY(COMP_EMPTY()));
433 434
434SND_SOC_DAILINK_DEFS(voice, 435SND_SOC_DAILINK_DEFS(voice,
435 DAILINK_COMP_ARRAY(COMP_CPU(SAMSUNG_I2S_DAI)), 436 DAILINK_COMP_ARRAY(COMP_CPU(SAMSUNG_I2S_DAI)),
436 DAILINK_COMP_ARRAY(COMP_CODEC(NULL, "wm5110-aif2"))); 437 DAILINK_COMP_ARRAY(COMP_CODEC(NULL, "wm5110-aif2")),
438 DAILINK_COMP_ARRAY(COMP_EMPTY()));
437 439
438SND_SOC_DAILINK_DEFS(bt, 440SND_SOC_DAILINK_DEFS(bt,
439 DAILINK_COMP_ARRAY(COMP_CPU(SAMSUNG_I2S_DAI)), 441 DAILINK_COMP_ARRAY(COMP_CPU(SAMSUNG_I2S_DAI)),
440 DAILINK_COMP_ARRAY(COMP_CODEC(NULL, "wm5110-aif3"))); 442 DAILINK_COMP_ARRAY(COMP_CODEC(NULL, "wm5110-aif3")),
443 DAILINK_COMP_ARRAY(COMP_EMPTY()));
441 444
442SND_SOC_DAILINK_DEFS(hdmi, 445SND_SOC_DAILINK_DEFS(hdmi,
443 DAILINK_COMP_ARRAY(COMP_EMPTY()), 446 DAILINK_COMP_ARRAY(COMP_EMPTY()),
447 DAILINK_COMP_ARRAY(COMP_EMPTY()),
444 DAILINK_COMP_ARRAY(COMP_EMPTY())); 448 DAILINK_COMP_ARRAY(COMP_EMPTY()));
445 449
446static struct snd_soc_dai_link tm2_dai_links[] = { 450static struct snd_soc_dai_link tm2_dai_links[] = {
@@ -572,12 +576,14 @@ static int tm2_probe(struct platform_device *pdev)
572 unsigned int dai_index = 0; /* WM5110 */ 576 unsigned int dai_index = 0; /* WM5110 */
573 577
574 dai_link->cpus->name = NULL; 578 dai_link->cpus->name = NULL;
579 dai_link->platforms->name = NULL;
575 580
576 if (num_codecs > 1 && i == card->num_links - 1) 581 if (num_codecs > 1 && i == card->num_links - 1)
577 dai_index = 1; /* HDMI */ 582 dai_index = 1; /* HDMI */
578 583
579 dai_link->codecs->of_node = codec_dai_node[dai_index]; 584 dai_link->codecs->of_node = codec_dai_node[dai_index];
580 dai_link->cpus->of_node = cpu_dai_node[dai_index]; 585 dai_link->cpus->of_node = cpu_dai_node[dai_index];
586 dai_link->platforms->of_node = cpu_dai_node[dai_index];
581 } 587 }
582 588
583 if (num_codecs > 1) { 589 if (num_codecs > 1) {