ASoC: fsl: use asoc_dummy_dlc
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Mon, 24 Apr 2023 02:36:37 +0000 (02:36 +0000)
committerMark Brown <broonie@kernel.org>
Sun, 7 May 2023 23:47:09 +0000 (08:47 +0900)
Now we can share asoc_dummy_dlc. This patch use it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com
Link: https://lore.kernel.org/r/874jp60zwq.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org
sound/soc/fsl/imx-audmix.c
sound/soc/fsl/imx-card.c
sound/soc/fsl/imx-rpmsg.c
sound/soc/fsl/imx-spdif.c

index b2c5aca..efbcd4a 100644 (file)
@@ -207,8 +207,8 @@ static int imx_audmix_probe(struct platform_device *pdev)
        for (i = 0; i < num_dai; i++) {
                struct snd_soc_dai_link_component *dlc;
 
-               /* for CPU/Codec x 2 */
-               dlc = devm_kcalloc(&pdev->dev, 4, sizeof(*dlc), GFP_KERNEL);
+               /* for CPU x 2 */
+               dlc = devm_kcalloc(&pdev->dev, 2, sizeof(*dlc), GFP_KERNEL);
                if (!dlc)
                        return -ENOMEM;
 
@@ -244,7 +244,7 @@ static int imx_audmix_probe(struct platform_device *pdev)
                 */
                priv->dai[i].cpus       =
                priv->dai[i].platforms  = &dlc[0];
-               priv->dai[i].codecs     = &dlc[1];
+               priv->dai[i].codecs     = &asoc_dummy_dlc;
 
                priv->dai[i].num_cpus = 1;
                priv->dai[i].num_codecs = 1;
@@ -252,8 +252,6 @@ static int imx_audmix_probe(struct platform_device *pdev)
 
                priv->dai[i].name = dai_name;
                priv->dai[i].stream_name = "HiFi-AUDMIX-FE";
-               priv->dai[i].codecs->dai_name = "snd-soc-dummy-dai";
-               priv->dai[i].codecs->name = "snd-soc-dummy";
                priv->dai[i].cpus->of_node = args.np;
                priv->dai[i].cpus->dai_name = dev_name(&cpu_pdev->dev);
                priv->dai[i].dynamic = 1;
@@ -270,15 +268,13 @@ static int imx_audmix_probe(struct platform_device *pdev)
                be_cp = devm_kasprintf(&pdev->dev, GFP_KERNEL,
                                       "AUDMIX-Capture-%d", i);
 
-               priv->dai[num_dai + i].cpus     = &dlc[2];
-               priv->dai[num_dai + i].codecs   = &dlc[3];
+               priv->dai[num_dai + i].cpus     = &dlc[1];
+               priv->dai[num_dai + i].codecs   = &asoc_dummy_dlc;
 
                priv->dai[num_dai + i].num_cpus = 1;
                priv->dai[num_dai + i].num_codecs = 1;
 
                priv->dai[num_dai + i].name = be_name;
-               priv->dai[num_dai + i].codecs->dai_name = "snd-soc-dummy-dai";
-               priv->dai[num_dai + i].codecs->name = "snd-soc-dummy";
                priv->dai[num_dai + i].cpus->of_node = audmix_np;
                priv->dai[num_dai + i].cpus->dai_name = be_name;
                priv->dai[num_dai + i].no_pcm = 1;
index 64a4d7e..78e2e39 100644 (file)
@@ -615,17 +615,8 @@ static int imx_card_parse_of(struct imx_card_data *data)
                                plat_data->type = CODEC_AK5552;
 
                } else {
-                       dlc = devm_kzalloc(dev, sizeof(*dlc), GFP_KERNEL);
-                       if (!dlc) {
-                               ret = -ENOMEM;
-                               goto err;
-                       }
-
-                       link->codecs     = dlc;
+                       link->codecs     = &asoc_dummy_dlc;
                        link->num_codecs = 1;
-
-                       link->codecs->dai_name = "snd-soc-dummy-dai";
-                       link->codecs->name = "snd-soc-dummy";
                }
 
                if (!strncmp(link->name, "HiFi-ASRC-FE", 12)) {
index 8917810..93fc976 100644 (file)
@@ -92,8 +92,7 @@ static int imx_rpmsg_probe(struct platform_device *pdev)
        /* Optional codec node */
        ret = of_parse_phandle_with_fixed_args(np, "audio-codec", 0, 0, &args);
        if (ret) {
-               data->dai.codecs->dai_name = "snd-soc-dummy-dai";
-               data->dai.codecs->name = "snd-soc-dummy";
+               *data->dai.codecs = asoc_dummy_dlc;
        } else {
                struct clk *clk;
 
index ab97843..44463f9 100644 (file)
@@ -26,7 +26,7 @@ static int imx_spdif_audio_probe(struct platform_device *pdev)
        }
 
        data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
-       comp = devm_kzalloc(&pdev->dev, 2 * sizeof(*comp), GFP_KERNEL);
+       comp = devm_kzalloc(&pdev->dev, sizeof(*comp), GFP_KERNEL);
        if (!data || !comp) {
                ret = -ENOMEM;
                goto end;
@@ -37,8 +37,8 @@ static int imx_spdif_audio_probe(struct platform_device *pdev)
         * platform is using soc-generic-dmaengine-pcm
         */
        data->dai.cpus          =
-       data->dai.platforms     = &comp[0];
-       data->dai.codecs        = &comp[1];
+       data->dai.platforms     = comp;
+       data->dai.codecs        = &asoc_dummy_dlc;
 
        data->dai.num_cpus      = 1;
        data->dai.num_codecs    = 1;
@@ -46,8 +46,6 @@ static int imx_spdif_audio_probe(struct platform_device *pdev)
 
        data->dai.name = "S/PDIF PCM";
        data->dai.stream_name = "S/PDIF PCM";
-       data->dai.codecs->dai_name = "snd-soc-dummy-dai";
-       data->dai.codecs->name = "snd-soc-dummy";
        data->dai.cpus->of_node = spdif_np;
        data->dai.playback_only = true;
        data->dai.capture_only = true;