[alsa-devel] [PATCH resend 11/11] ASoC: soc-core: add soc_unbind_aux_dev()
Kuninori Morimoto
kuninori.morimoto.gx at renesas.com
Tue Aug 20 07:05:48 CEST 2019
From: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
It is easy to read code if it is cleanly using paired function/naming,
like start <-> stop, register <-> unregister, etc, etc.
But, current ALSA SoC code is very random, unbalance, not paired, etc.
It is easy to create bug at the such code, and it will be difficult to
debug.
soc-core.c has soc_bind_aux_dev(), but, there is no its paired
soc_unbind_aux_dev().
This patch adds soc_unbind_aux_dev().
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
---
v1 -> v2
- care component->init
sound/soc/soc-core.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 39248e2..c433bdb 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1529,6 +1529,12 @@ static int soc_probe_link_dais(struct snd_soc_card *card,
return ret;
}
+static void soc_unbind_aux_dev(struct snd_soc_component *component)
+{
+ component->init = NULL;
+ list_del(&component->card_aux_list);
+}
+
static int soc_bind_aux_dev(struct snd_soc_card *card,
struct snd_soc_aux_dev *aux_dev)
{
@@ -1580,7 +1586,7 @@ static void soc_remove_aux_devices(struct snd_soc_card *card)
if (comp->driver->remove_order == order) {
soc_remove_component(comp);
/* remove it from the card's aux_comp_list */
- list_del(&comp->card_aux_list);
+ soc_unbind_aux_dev(comp);
}
}
}
--
2.7.4
More information about the Alsa-devel
mailing list