diff options
author | Jaechul Lee <jcsing.lee@samsung.com> | 2017-09-05 21:04:14 -0400 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2017-09-19 10:59:03 -0400 |
commit | e8d93208905a9987c211f97a14a93f2776ab52e7 (patch) | |
tree | aaa84957661bba45d8de2cc8740e8d3c445bd84a | |
parent | 22289ddcd87285b3d61cd8b129438ca6abb1aa37 (diff) |
ASoC: samsung: Use 'samsung-i2s' cpu_dai for dai_links
Add specific cpu_dai_name to dai_link because samsung i2s driver registers
two dais and components. Selecting one of them clearly is needed more
information like cpu_dai_name, of_node. The reason why the dai_links have
to use 'samsung-i2s' for cpu_dai is that 'samsung-i2s-sec' doesn't have a
capture functionality.
Without this code, cpu_dai will be selected the first one of the
component_list. For example, if I describe nothing to cpu_dai_name,
'samsung-i2s-sec' might be selected to HiFi Primay.
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | sound/soc/samsung/tm2_wm5110.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sound/soc/samsung/tm2_wm5110.c b/sound/soc/samsung/tm2_wm5110.c index 68698f3d72f9..710e2151141f 100644 --- a/sound/soc/samsung/tm2_wm5110.c +++ b/sound/soc/samsung/tm2_wm5110.c | |||
@@ -383,6 +383,7 @@ static struct snd_soc_dai_link tm2_dai_links[] = { | |||
383 | { | 383 | { |
384 | .name = "WM5110 AIF1", | 384 | .name = "WM5110 AIF1", |
385 | .stream_name = "HiFi Primary", | 385 | .stream_name = "HiFi Primary", |
386 | .cpu_dai_name = SAMSUNG_I2S_DAI, | ||
386 | .codec_dai_name = "wm5110-aif1", | 387 | .codec_dai_name = "wm5110-aif1", |
387 | .ops = &tm2_aif1_ops, | 388 | .ops = &tm2_aif1_ops, |
388 | .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | | 389 | .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | |
@@ -390,6 +391,7 @@ static struct snd_soc_dai_link tm2_dai_links[] = { | |||
390 | }, { | 391 | }, { |
391 | .name = "WM5110 Voice", | 392 | .name = "WM5110 Voice", |
392 | .stream_name = "Voice call", | 393 | .stream_name = "Voice call", |
394 | .cpu_dai_name = SAMSUNG_I2S_DAI, | ||
393 | .codec_dai_name = "wm5110-aif2", | 395 | .codec_dai_name = "wm5110-aif2", |
394 | .ops = &tm2_aif2_ops, | 396 | .ops = &tm2_aif2_ops, |
395 | .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | | 397 | .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | |
@@ -398,6 +400,7 @@ static struct snd_soc_dai_link tm2_dai_links[] = { | |||
398 | }, { | 400 | }, { |
399 | .name = "WM5110 BT", | 401 | .name = "WM5110 BT", |
400 | .stream_name = "Bluetooth", | 402 | .stream_name = "Bluetooth", |
403 | .cpu_dai_name = SAMSUNG_I2S_DAI, | ||
401 | .codec_dai_name = "wm5110-aif3", | 404 | .codec_dai_name = "wm5110-aif3", |
402 | .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | | 405 | .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | |
403 | SND_SOC_DAIFMT_CBM_CFM, | 406 | SND_SOC_DAIFMT_CBM_CFM, |
@@ -477,7 +480,6 @@ static int tm2_probe(struct platform_device *pdev) | |||
477 | } | 480 | } |
478 | 481 | ||
479 | for (i = 0; i < card->num_links; i++) { | 482 | for (i = 0; i < card->num_links; i++) { |
480 | card->dai_link[i].cpu_dai_name = NULL; | ||
481 | card->dai_link[i].cpu_name = NULL; | 483 | card->dai_link[i].cpu_name = NULL; |
482 | card->dai_link[i].platform_name = NULL; | 484 | card->dai_link[i].platform_name = NULL; |
483 | card->dai_link[i].codec_of_node = codec_dai_node; | 485 | card->dai_link[i].codec_of_node = codec_dai_node; |