[alsa-devel] [PATCH 09/16] ASoC: soc-core: self contained soc_remove_link_dais()

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Fri Aug 23 02:59:26 CEST 2019


From: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>

Current soc_remove_link_dais() implementation is very half,
thus it is very difficult to read.

	for_each_comp_order(xxx) {
		for_each_card_rtds(xxx)
=>			soc_remove_link_dais(xxx);
	}

This patch does all for_each_xxx() under soc_remove_link_dais(),
and makes it to self contained.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
---
 sound/soc/soc-core.c | 29 +++++++++++++++--------------
 1 file changed, 15 insertions(+), 14 deletions(-)

diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index e2708e0..c4581ba 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1105,20 +1105,26 @@ static void soc_remove_dai(struct snd_soc_dai *dai, int order)
 }
 
 static void soc_rtd_free(struct snd_soc_pcm_runtime *rtd); /* remove me */
-static void soc_remove_link_dais(struct snd_soc_card *card,
-		struct snd_soc_pcm_runtime *rtd, int order)
+static void soc_remove_link_dais(struct snd_soc_card *card)
 {
 	int i;
 	struct snd_soc_dai *codec_dai;
+	struct snd_soc_pcm_runtime *rtd;
+	int order;
+
+	for_each_comp_order(order) {
+		for_each_card_rtds(card, rtd) {
 
-	/* finalize rtd device */
-	soc_rtd_free(rtd);
+			/* finalize rtd device */
+			soc_rtd_free(rtd);
 
-	/* remove the CODEC DAI */
-	for_each_rtd_codec_dai(rtd, i, codec_dai)
-		soc_remove_dai(codec_dai, order);
+			/* remove the CODEC DAI */
+			for_each_rtd_codec_dai(rtd, i, codec_dai)
+				soc_remove_dai(codec_dai, order);
 
-	soc_remove_dai(rtd->cpu_dai, order);
+			soc_remove_dai(rtd->cpu_dai, order);
+		}
+	}
 }
 
 static void soc_remove_link_components(struct snd_soc_card *card)
@@ -1169,14 +1175,9 @@ static int soc_probe_link_components(struct snd_soc_card *card)
 
 static void soc_remove_dai_links(struct snd_soc_card *card)
 {
-	int order;
-	struct snd_soc_pcm_runtime *rtd;
 	struct snd_soc_dai_link *link, *_link;
 
-	for_each_comp_order(order) {
-		for_each_card_rtds(card, rtd)
-			soc_remove_link_dais(card, rtd, order);
-	}
+	soc_remove_link_dais(card);
 
 	soc_remove_link_components(card);
 
-- 
2.7.4



More information about the Alsa-devel mailing list