ASoC: ux500: mop500: use modern dai_link style
[sfrench/cifs-2.6.git] / sound / soc / ux500 / mop500.c
index c60a57797640e83ac692ac72b53f42e64de2aeef..20552e9d9217c5b3bb49cc52dae37a1c66544a40 100644 (file)
 #include "mop500_ab8500.h"
 
 /* Define the whole MOP500 soundcard, linking platform to the codec-drivers  */
+SND_SOC_DAILINK_DEFS(link1,
+       DAILINK_COMP_ARRAY(COMP_CPU("ux500-msp-i2s.1")),
+       DAILINK_COMP_ARRAY(COMP_CODEC("ab8500-codec.0", "ab8500-codec-dai.0")),
+       DAILINK_COMP_ARRAY(COMP_PLATFORM("ux500-msp-i2s.1")));
+
+SND_SOC_DAILINK_DEFS(link2,
+       DAILINK_COMP_ARRAY(COMP_CPU("ux500-msp-i2s.3")),
+       DAILINK_COMP_ARRAY(COMP_CODEC("ab8500-codec.0", "ab8500-codec-dai.1")),
+       DAILINK_COMP_ARRAY(COMP_PLATFORM("ux500-msp-i2s.3")));
+
 static struct snd_soc_dai_link mop500_dai_links[] = {
        {
                .name = "ab8500_0",
                .stream_name = "ab8500_0",
-               .cpu_dai_name = "ux500-msp-i2s.1",
-               .codec_dai_name = "ab8500-codec-dai.0",
-               .platform_name = "ux500-msp-i2s.1",
-               .codec_name = "ab8500-codec.0",
                .init = mop500_ab8500_machine_init,
                .ops = mop500_ab8500_ops,
+               SND_SOC_DAILINK_REG(link1),
        },
        {
                .name = "ab8500_1",
                .stream_name = "ab8500_1",
-               .cpu_dai_name = "ux500-msp-i2s.3",
-               .codec_dai_name = "ab8500-codec-dai.1",
-               .platform_name = "ux500-msp-i2s.3",
-               .codec_name = "ab8500-codec.0",
                .init = NULL,
                .ops = mop500_ab8500_ops,
+               SND_SOC_DAILINK_REG(link2),
        },
 };
 
@@ -63,8 +67,8 @@ static void mop500_of_node_put(void)
        int i;
 
        for (i = 0; i < 2; i++) {
-               of_node_put(mop500_dai_links[i].cpu_of_node);
-               of_node_put(mop500_dai_links[i].codec_of_node);
+               of_node_put(mop500_dai_links[i].cpus->of_node);
+               of_node_put(mop500_dai_links[i].codecs->of_node);
        }
 }
 
@@ -85,12 +89,12 @@ static int mop500_of_probe(struct platform_device *pdev,
        }
 
        for (i = 0; i < 2; i++) {
-               mop500_dai_links[i].cpu_of_node = msp_np[i];
-               mop500_dai_links[i].cpu_dai_name = NULL;
-               mop500_dai_links[i].platform_of_node = msp_np[i];
-               mop500_dai_links[i].platform_name = NULL;
-               mop500_dai_links[i].codec_of_node = codec_np;
-               mop500_dai_links[i].codec_name = NULL;
+               mop500_dai_links[i].cpus->of_node = msp_np[i];
+               mop500_dai_links[i].cpus->dai_name = NULL;
+               mop500_dai_links[i].platforms->of_node = msp_np[i];
+               mop500_dai_links[i].platforms->name = NULL;
+               mop500_dai_links[i].codecs->of_node = codec_np;
+               mop500_dai_links[i].codecs->name = NULL;
        }
 
        snd_soc_of_parse_card_name(&mop500_card, "stericsson,card-name");