]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
ASoC: fsl: don't set link->platform if not needed
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Mon, 14 Apr 2025 01:00:45 +0000 (01:00 +0000)
committerMark Brown <broonie@kernel.org>
Fri, 25 Apr 2025 12:19:59 +0000 (13:19 +0100)
imx_card_parse_of() allocs 2 components for CPU/Platform (A)

static int imx_card_parse_of(...)
{
...
for_each_child_of_node(...) {
dlc = devm_kzalloc(...);
...
link->cpus = &dlc[0];
(A) link->platforms = &dlc[1];
}
...
}

The link might be used as DPCM backend, in such case, link->plaforms
will be not used. The driver overwrite it as Dummy DAI (B).

} else if (!strncmp(link->name, "HiFi-ASRC-BE", 12)) {
/* DPCM backend */
link->no_pcm = 1;
link->platforms->of_node = NULL;
(B) link->platforms->name = "snd-soc-dummy";
}

If it was not used for generic DMAEngine, we can just remove it.
By this patch, created dlc (A) will be just wasted, but it won't leak.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://patch.msgid.link/87cydfr1z6.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/fsl/imx-card.c

index 45e000f61eccac14d134bd16d64209f21e7ce207..9e668ae68039f51e9cadb11506ef00b11fec4f0b 100644 (file)
@@ -670,9 +670,12 @@ static int imx_card_parse_of(struct imx_card_data *data)
                        }
                } else if (!strncmp(link->name, "HiFi-ASRC-BE", 12)) {
                        /* DPCM backend */
+                       /*
+                        * No need to have link->platforms. alloced dlc[1] will be just wasted,
+                        * but it won't leak.
+                        */
                        link->no_pcm = 1;
-                       link->platforms->of_node = NULL;
-                       link->platforms->name = "snd-soc-dummy";
+                       link->platforms = NULL;
 
                        link->be_hw_params_fixup = be_hw_params_fixup;
                        link->ops = &imx_aif_ops_be;