[alsa-devel] [PATCH 4/6] ASoC: add for_each_component{_safe}

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Mon Dec 19 08:37:57 CET 2016


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

To be more readable code, this patch adds new for_each_component
macro.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
---
 include/sound/soc.h  |  5 +++++
 sound/soc/soc-core.c | 10 ++++------
 sound/soc/soc-pcm.c  |  5 ++---
 3 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/include/sound/soc.h b/include/sound/soc.h
index 4504920..5db4a90 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -1190,6 +1190,11 @@ struct snd_soc_card {
 
 	void *drvdata;
 };
+#define	for_each_component(component, card) \
+	list_for_each_entry(component, &(card)->component_dev_list, card_list)
+#define	for_each_component_safe(component, _component, card)	\
+	list_for_each_entry_safe(component, _component, \
+				 &(card)->component_dev_list, card_list)
 
 /* SoC machine DAI configuration, glues a codec and cpu DAI together */
 struct snd_soc_pcm_runtime {
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 981443e..9f2b9e1 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -703,7 +703,7 @@ int snd_soc_suspend(struct device *dev)
 	snd_soc_dapm_sync(&card->dapm);
 
 	/* suspend all COMPONENTs */
-	list_for_each_entry(component, &card->component_dev_list, card_list) {
+	for_each_component(component, card) {
 		struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component);
 
 		/* If there are paths active then the COMPONENT will be held with
@@ -794,7 +794,7 @@ static void soc_resume_deferred(struct work_struct *work)
 			cpu_dai->driver->resume(cpu_dai);
 	}
 
-	list_for_each_entry(component, &card->component_dev_list, card_list) {
+	for_each_component(component, card) {
 		if (component->suspended) {
 			if (component->resume)
 				component->resume(component);
@@ -1764,7 +1764,7 @@ static int soc_probe_aux_devices(struct snd_soc_card *card)
 
 	for (order = SND_SOC_COMP_ORDER_FIRST; order <= SND_SOC_COMP_ORDER_LAST;
 		order++) {
-		list_for_each_entry(comp, &card->component_dev_list, card_list) {
+		for_each_component(comp, card) {
 			if (!comp->auxiliary)
 				continue;
 
@@ -1790,9 +1790,7 @@ static void soc_remove_aux_devices(struct snd_soc_card *card)
 
 	for (order = SND_SOC_COMP_ORDER_FIRST; order <= SND_SOC_COMP_ORDER_LAST;
 		order++) {
-		list_for_each_entry_safe(comp, _comp,
-			&card->component_dev_list, card_list) {
-
+		for_each_component_safe(comp, _comp, card) {
 			if (!comp->auxiliary)
 				continue;
 
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
index dec0b20..ff31bf5 100644
--- a/sound/soc/soc-pcm.c
+++ b/sound/soc/soc-pcm.c
@@ -2631,8 +2631,7 @@ static void soc_pcm_free(struct snd_pcm *pcm)
 	struct snd_soc_pcm_runtime *rtd = pcm->private_data;
 	struct snd_soc_component *component;
 
-	list_for_each_entry(component, &rtd->card->component_dev_list,
-			    card_list) {
+	for_each_component(component, rtd->card) {
 		if (component->pcm_free)
 			component->pcm_free(pcm);
 	}
@@ -2753,7 +2752,7 @@ int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, int num)
 	if (capture)
 		snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &rtd->ops);
 
-	list_for_each_entry(component, &rtd->card->component_dev_list, card_list) {
+	for_each_component(component, rtd->card) {
 		if (component->pcm_new) {
 			ret = component->pcm_new(rtd);
 			if (ret < 0) {
-- 
1.9.1



More information about the Alsa-devel mailing list