ASoC: samsung: smdk_wm8994: use modern dai_link style
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Thu, 6 Jun 2019 04:09:06 +0000 (13:09 +0900)
committerMark Brown <broonie@kernel.org>
Thu, 6 Jun 2019 20:27:15 +0000 (21:27 +0100)
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: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/samsung/smdk_wm8994.c

index 135d8c2745bead6d99e5a9062756c9efd710a812..28f8be000aa1dc644c27eb85a32d2cc122236ce6 100644 (file)
@@ -100,28 +100,32 @@ static int smdk_wm8994_init_paiftx(struct snd_soc_pcm_runtime *rtd)
        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[] = {
        { /* Primary DAI i/f */
                .name = "WM8994 AIF1",
                .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,
                .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
                        SND_SOC_DAIFMT_CBM_CFM,
                .ops = &smdk_ops,
+               SND_SOC_DAILINK_REG(aif1),
        }, { /* Sec_Fifo Playback i/f */
                .name = "Sec_FIFO TX",
                .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 |
                        SND_SOC_DAIFMT_CBM_CFM,
                .ops = &smdk_ops,
+               SND_SOC_DAILINK_REG(fifo_tx),
        },
 };
 
@@ -153,17 +157,17 @@ static int smdk_audio_probe(struct platform_device *pdev)
                return -ENOMEM;
 
        if (np) {
-               smdk_dai[0].cpu_dai_name = NULL;
-               smdk_dai[0].cpu_of_node = of_parse_phandle(np,
+               smdk_dai[0].cpus->dai_name = NULL;
+               smdk_dai[0].cpus->of_node = of_parse_phandle(np,
                                "samsung,i2s-controller", 0);
-               if (!smdk_dai[0].cpu_of_node) {
+               if (!smdk_dai[0].cpus->of_node) {
                        dev_err(&pdev->dev,
                           "Property 'samsung,i2s-controller' missing or invalid\n");
                        ret = -EINVAL;
                }
 
-               smdk_dai[0].platform_name = NULL;
-               smdk_dai[0].platform_of_node = smdk_dai[0].cpu_of_node;
+               smdk_dai[0].platforms->name = NULL;
+               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);