OSDN Git Service

ASoC: soc-core: setup card->rtd_num at snd_soc_instantiate_card()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Wed, 2 Oct 2019 05:23:07 +0000 (14:23 +0900)
committerMark Brown <broonie@kernel.org>
Thu, 3 Oct 2019 13:37:01 +0000 (14:37 +0100)
card->rtd_num is used to count rtd. Initialize it at
snd_soc_instantiate_card() is very natural and less confusion.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87zhijafgk.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-core.c

index 2c2803e..d39d908 100644 (file)
@@ -462,8 +462,6 @@ static void soc_remove_pcm_runtimes(struct snd_soc_card *card)
 
        for_each_card_rtds_safe(card, rtd, _rtd)
                soc_free_pcm_runtime(rtd);
-
-       card->num_rtd = 0;
 }
 
 struct snd_soc_pcm_runtime *snd_soc_get_pcm_runtime(struct snd_soc_card *card,
@@ -2008,6 +2006,7 @@ static int snd_soc_instantiate_card(struct snd_soc_card *card)
                goto probe_end;
 
        /* add predefined DAI links to the list */
+       card->num_rtd = 0;
        for_each_card_prelinks(card, i, dai_link) {
                ret = snd_soc_add_dai_link(card, dai_link);
                if (ret < 0)
@@ -2418,7 +2417,6 @@ int snd_soc_register_card(struct snd_soc_card *card)
        INIT_LIST_HEAD(&card->dapm_dirty);
        INIT_LIST_HEAD(&card->dobj_list);
 
-       card->num_rtd = 0;
        card->instantiated = 0;
        mutex_init(&card->mutex);
        mutex_init(&card->dapm_mutex);