[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