On Tue, Nov 5, 2019 at 5:14 PM Kuninori Morimoto < kuninori.morimoto.gx@xxxxxxxxxxx> wrote: > From: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> > > 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@xxxxxxxxxxx> > --- > 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@xxxxxxxxxxxxxxxx > https://mailman.alsa-project.org/mailman/listinfo/alsa-devel > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel