Commit 2f8ea84e authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown

ASoC: samsung: smdk_wm8994: use modern dai_link style

ASoC is now supporting modern style dai_link
(= snd_soc_dai_link_component) for CPU/Codec/Platform.
This patch switches to use it.
Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 10601860
...@@ -100,28 +100,32 @@ static int smdk_wm8994_init_paiftx(struct snd_soc_pcm_runtime *rtd) ...@@ -100,28 +100,32 @@ static int smdk_wm8994_init_paiftx(struct snd_soc_pcm_runtime *rtd)
return 0; return 0;
} }
SND_SOC_DAILINK_DEFS(aif1,
DAILINK_COMP_ARRAY(COMP_CPU("samsung-i2s.0")),
DAILINK_COMP_ARRAY(COMP_CODEC("wm8994-codec", "wm8994-aif1")),
DAILINK_COMP_ARRAY(COMP_PLATFORM("samsung-i2s.0")));
SND_SOC_DAILINK_DEFS(fifo_tx,
DAILINK_COMP_ARRAY(COMP_CPU("samsung-i2s-sec")),
DAILINK_COMP_ARRAY(COMP_CODEC("wm8994-codec", "wm8994-aif1")),
DAILINK_COMP_ARRAY(COMP_PLATFORM("samsung-i2s-sec")));
static struct snd_soc_dai_link smdk_dai[] = { static struct snd_soc_dai_link smdk_dai[] = {
{ /* Primary DAI i/f */ { /* Primary DAI i/f */
.name = "WM8994 AIF1", .name = "WM8994 AIF1",
.stream_name = "Pri_Dai", .stream_name = "Pri_Dai",
.cpu_dai_name = "samsung-i2s.0",
.codec_dai_name = "wm8994-aif1",
.platform_name = "samsung-i2s.0",
.codec_name = "wm8994-codec",
.init = smdk_wm8994_init_paiftx, .init = smdk_wm8994_init_paiftx,
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
SND_SOC_DAIFMT_CBM_CFM, SND_SOC_DAIFMT_CBM_CFM,
.ops = &smdk_ops, .ops = &smdk_ops,
SND_SOC_DAILINK_REG(aif1),
}, { /* Sec_Fifo Playback i/f */ }, { /* Sec_Fifo Playback i/f */
.name = "Sec_FIFO TX", .name = "Sec_FIFO TX",
.stream_name = "Sec_Dai", .stream_name = "Sec_Dai",
.cpu_dai_name = "samsung-i2s-sec",
.codec_dai_name = "wm8994-aif1",
.platform_name = "samsung-i2s-sec",
.codec_name = "wm8994-codec",
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
SND_SOC_DAIFMT_CBM_CFM, SND_SOC_DAIFMT_CBM_CFM,
.ops = &smdk_ops, .ops = &smdk_ops,
SND_SOC_DAILINK_REG(fifo_tx),
}, },
}; };
...@@ -153,17 +157,17 @@ static int smdk_audio_probe(struct platform_device *pdev) ...@@ -153,17 +157,17 @@ static int smdk_audio_probe(struct platform_device *pdev)
return -ENOMEM; return -ENOMEM;
if (np) { if (np) {
smdk_dai[0].cpu_dai_name = NULL; smdk_dai[0].cpus->dai_name = NULL;
smdk_dai[0].cpu_of_node = of_parse_phandle(np, smdk_dai[0].cpus->of_node = of_parse_phandle(np,
"samsung,i2s-controller", 0); "samsung,i2s-controller", 0);
if (!smdk_dai[0].cpu_of_node) { if (!smdk_dai[0].cpus->of_node) {
dev_err(&pdev->dev, dev_err(&pdev->dev,
"Property 'samsung,i2s-controller' missing or invalid\n"); "Property 'samsung,i2s-controller' missing or invalid\n");
ret = -EINVAL; ret = -EINVAL;
} }
smdk_dai[0].platform_name = NULL; smdk_dai[0].platforms->name = NULL;
smdk_dai[0].platform_of_node = smdk_dai[0].cpu_of_node; smdk_dai[0].platforms->of_node = smdk_dai[0].cpus->of_node;
} }
id = of_match_device(of_match_ptr(samsung_wm8994_of_match), &pdev->dev); id = of_match_device(of_match_ptr(samsung_wm8994_of_match), &pdev->dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment