diff --git a/sound/soc/ux500/mop500.c b/sound/soc/ux500/mop500.c index c60a57797640..20552e9d9217 100644 --- a/sound/soc/ux500/mop500.c +++ b/sound/soc/ux500/mop500.c @@ -27,26 +27,30 @@ #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");