ASoC: atmel: mikroe-proto: use modern dai_link style
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Thu, 6 Jun 2019 04:13:38 +0000 (13:13 +0900)
committerMark Brown <broonie@kernel.org>
Thu, 6 Jun 2019 20:38:22 +0000 (21:38 +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>
Tested-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/atmel/mikroe-proto.c

index d47aaa5bf75a2887fedacbf8c38179efa7ee7f0a..255168a9df5b7511ad07d40d1a4999fd4dd73eb1 100644 (file)
@@ -66,6 +66,7 @@ static struct snd_soc_card snd_proto = {
 static int snd_proto_probe(struct platform_device *pdev)
 {
        struct snd_soc_dai_link *dai;
+       struct snd_soc_dai_link_component *comp;
        struct device_node *np = pdev->dev.of_node;
        struct device_node *codec_np, *cpu_np;
        struct device_node *bitclkmaster = NULL;
@@ -87,12 +88,24 @@ static int snd_proto_probe(struct platform_device *pdev)
        if (!dai)
                return -ENOMEM;
 
+       /* for cpus/codecs/platforms */
+       comp = devm_kzalloc(&pdev->dev, 3 * sizeof(*comp), GFP_KERNEL);
+       if (!comp)
+               return -ENOMEM;
+
        snd_proto.dai_link = dai;
        snd_proto.num_links = 1;
 
+       dai->cpus = &comp[0];
+       dai->num_cpus = 1;
+       dai->codecs = &comp[1];
+       dai->num_codecs = 1;
+       dai->platforms = &comp[2];
+       dai->num_platforms = 1;
+
        dai->name = "WM8731";
        dai->stream_name = "WM8731 HiFi";
-       dai->codec_dai_name = "wm8731-hifi";
+       dai->codecs->dai_name = "wm8731-hifi";
        dai->init = &snd_proto_init;
 
        codec_np = of_parse_phandle(np, "audio-codec", 0);
@@ -100,15 +113,15 @@ static int snd_proto_probe(struct platform_device *pdev)
                dev_err(&pdev->dev, "audio-codec node missing\n");
                return -EINVAL;
        }
-       dai->codec_of_node = codec_np;
+       dai->codecs->of_node = codec_np;
 
        cpu_np = of_parse_phandle(np, "i2s-controller", 0);
        if (!cpu_np) {
                dev_err(&pdev->dev, "i2s-controller missing\n");
                return -EINVAL;
        }
-       dai->cpu_of_node = cpu_np;
-       dai->platform_of_node = cpu_np;
+       dai->cpus->of_node = cpu_np;
+       dai->platforms->of_node = cpu_np;
 
        dai_fmt = snd_soc_of_parse_daifmt(np, NULL,
                                          &bitclkmaster, &framemaster);