diff mbox series

ASoC: fsl: don't set link->platform if not needed

Message ID 87cydfr1z6.wl-kuninori.morimoto.gx@renesas.com (mailing list archive)
State New
Headers show
Series ASoC: fsl: don't set link->platform if not needed | expand

Commit Message

Kuninori Morimoto April 14, 2025, 1 a.m. UTC
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>
---
I have not tested, needs Tested-by from someone.

 sound/soc/fsl/imx-card.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/sound/soc/fsl/imx-card.c b/sound/soc/fsl/imx-card.c
index 3686d468506b..aa72a56d4796 100644
--- a/sound/soc/fsl/imx-card.c
+++ b/sound/soc/fsl/imx-card.c
@@ -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;