From: Kuninori Morimoto kuninori.morimoto.gx@renesas.com
Current ALSA SoC is directly using component->driver->xxx, thus, it is deep nested, and makes code difficult to read, and is not good for encapsulation. This patch adds new snd_soc_component_remove() and use it.
Signed-off-by: Kuninori Morimoto kuninori.morimoto.gx@renesas.com --- include/sound/soc-component.h | 1 + sound/soc/soc-component.c | 6 ++++++ sound/soc/soc-core.c | 3 +-- 3 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/include/sound/soc-component.h b/include/sound/soc-component.h index d01f36a..7cef7ed 100644 --- a/include/sound/soc-component.h +++ b/include/sound/soc-component.h @@ -360,5 +360,6 @@ void snd_soc_component_suspend(struct snd_soc_component *component); void snd_soc_component_resume(struct snd_soc_component *component); int snd_soc_component_is_suspended(struct snd_soc_component *component); int snd_soc_component_probe(struct snd_soc_component *component); +void snd_soc_component_remove(struct snd_soc_component *component);
#endif /* __SOC_COMPONENT_H */ diff --git a/sound/soc/soc-component.c b/sound/soc/soc-component.c index 2e7f254..af26e8e 100644 --- a/sound/soc/soc-component.c +++ b/sound/soc/soc-component.c @@ -445,3 +445,9 @@ int snd_soc_component_probe(struct snd_soc_component *component) return component->driver->probe(component); return 0; } + +void snd_soc_component_remove(struct snd_soc_component *component) +{ + if (component->driver->remove) + component->driver->remove(component); +} diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 9be12ae..067c340 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -970,8 +970,7 @@ static void soc_remove_component(struct snd_soc_component *component) if (!component->card) return;
- if (component->driver->remove) - component->driver->remove(component); + snd_soc_component_remove(component);
soc_cleanup_component(component); }