ASoC: fsl: imx-sgtl5000: use modern dai_link style
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Thu, 6 Jun 2019 04:16:02 +0000 (13:16 +0900)
committerMark Brown <broonie@kernel.org>
Thu, 6 Jun 2019 20:43:14 +0000 (21:43 +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/fsl/imx-sgtl5000.c

index bf8597f..15e8b93 100644 (file)
@@ -55,6 +55,7 @@ static int imx_sgtl5000_probe(struct platform_device *pdev)
        struct platform_device *ssi_pdev;
        struct i2c_client *codec_dev;
        struct imx_sgtl5000_data *data = NULL;
+       struct snd_soc_dai_link_component *comp;
        int int_port, ext_port;
        int ret;
 
@@ -122,6 +123,12 @@ static int imx_sgtl5000_probe(struct platform_device *pdev)
                goto fail;
        }
 
+       comp = devm_kzalloc(&pdev->dev, 3 * sizeof(*comp), GFP_KERNEL);
+       if (!comp) {
+               ret = -ENOMEM;
+               goto fail;
+       }
+
        data->codec_clk = clk_get(&codec_dev->dev, NULL);
        if (IS_ERR(data->codec_clk)) {
                ret = PTR_ERR(data->codec_clk);
@@ -130,12 +137,20 @@ static int imx_sgtl5000_probe(struct platform_device *pdev)
 
        data->clk_frequency = clk_get_rate(data->codec_clk);
 
+       data->dai.cpus          = &comp[0];
+       data->dai.codecs        = &comp[1];
+       data->dai.platforms     = &comp[2];
+
+       data->dai.num_cpus      = 1;
+       data->dai.num_codecs    = 1;
+       data->dai.num_platforms = 1;
+
        data->dai.name = "HiFi";
        data->dai.stream_name = "HiFi";
-       data->dai.codec_dai_name = "sgtl5000";
-       data->dai.codec_of_node = codec_np;
-       data->dai.cpu_of_node = ssi_np;
-       data->dai.platform_of_node = ssi_np;
+       data->dai.codecs->dai_name = "sgtl5000";
+       data->dai.codecs->of_node = codec_np;
+       data->dai.cpus->of_node = ssi_np;
+       data->dai.platforms->of_node = ssi_np;
        data->dai.init = &imx_sgtl5000_dai_init;
        data->dai.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
                            SND_SOC_DAIFMT_CBM_CFM;