[alsa-devel] [PATCH 9/9] ASoC: soc-core: call snd_soc_dapm_shutdown() at soc_cleanup_card_resources()

Sridharan, Ranjani ranjani.sridharan at intel.com
Wed Nov 6 03:34:58 CET 2019


On Tue, Nov 5, 2019 at 5:14 PM Kuninori Morimoto <
kuninori.morimoto.gx at renesas.com> wrote:

> 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.
>
> snd_soc_bind_card() is calling snd_soc_dapm_init() for both
> card and component.
> Let's call paired snd_soc_dapm_shutdown() at paired
> soc_cleanup_card_resources().
>
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
> ---
>  sound/soc/soc-core.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
> index 927b9c9..0bed63e 100644
> --- a/sound/soc/soc-core.c
> +++ b/sound/soc/soc-core.c
> @@ -1940,6 +1940,8 @@ static void soc_cleanup_card_resources(struct
> snd_soc_card *card)
>                 card->snd_card = NULL;
>         }
>
> +       snd_soc_dapm_shutdown(card);
> +
>         /* remove and free each DAI */
>         soc_remove_link_dais(card);
>         soc_remove_link_components(card);
> @@ -2377,7 +2379,6 @@ static void snd_soc_unbind_card(struct snd_soc_card
> *card, bool unregister)
>
Morimoto-san,

You removed snd_soc_bind_card in one of the patches but then leaving
snd_soc_unbind_card() will be unbalanced isnt it?

Why not just have instantiate_card() and cleanup_card_resources()?

Thanks,
Ranjani

>  {
>         if (card->instantiated) {
>                 card->instantiated = false;
> -               snd_soc_dapm_shutdown(card);
>                 snd_soc_flush_all_delayed_work(card);
>
>                 soc_cleanup_card_resources(card);
> --
> 2.7.4
>
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>


More information about the Alsa-devel mailing list