]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ASoC: soc-core: merge snd_soc_remove_dai_link() and soc_unbind_dai_link()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Wed, 6 Nov 2019 01:07:38 +0000 (10:07 +0900)
committerMark Brown <broonie@kernel.org>
Tue, 12 Nov 2019 18:27:43 +0000 (18:27 +0000)
We don't need to separete snd_soc_remove_dai_link() and
soc_unbind_dai_link() anymore. Let's merge these.

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

index 8add98431881af7987d81b5ed932920059561971..d80d485f46d15be266533dcaf89b9c91d6919e9e 100644 (file)
@@ -1049,15 +1049,36 @@ static int soc_dai_link_sanity_check(struct snd_soc_card *card,
        return 0;
 }
 
-static void soc_unbind_dai_link(struct snd_soc_card *card,
-                               struct snd_soc_dai_link *dai_link)
+/**
+ * snd_soc_remove_dai_link - Remove a DAI link from the list
+ * @card: The ASoC card that owns the link
+ * @dai_link: The DAI link to remove
+ *
+ * This function removes a DAI link from the ASoC card's link list.
+ *
+ * For DAI links previously added by topology, topology should
+ * remove them by using the dobj embedded in the link.
+ */
+void snd_soc_remove_dai_link(struct snd_soc_card *card,
+                            struct snd_soc_dai_link *dai_link)
 {
        struct snd_soc_pcm_runtime *rtd;
 
+       lockdep_assert_held(&client_mutex);
+
+       /*
+        * Notify the machine driver for extra destruction
+        */
+       if (card->remove_dai_link)
+               card->remove_dai_link(card, dai_link);
+
+       list_del(&dai_link->list);
+
        rtd = snd_soc_get_pcm_runtime(card, dai_link->name);
        if (rtd)
                soc_free_pcm_runtime(rtd);
 }
+EXPORT_SYMBOL_GPL(snd_soc_remove_dai_link);
 
 /**
  * snd_soc_add_dai_link - Add a DAI link dynamically
@@ -1434,33 +1455,6 @@ void snd_soc_disconnect_sync(struct device *dev)
 }
 EXPORT_SYMBOL_GPL(snd_soc_disconnect_sync);
 
-/**
- * snd_soc_remove_dai_link - Remove a DAI link from the list
- * @card: The ASoC card that owns the link
- * @dai_link: The DAI link to remove
- *
- * This function removes a DAI link from the ASoC card's link list.
- *
- * For DAI links previously added by topology, topology should
- * remove them by using the dobj embedded in the link.
- */
-void snd_soc_remove_dai_link(struct snd_soc_card *card,
-                            struct snd_soc_dai_link *dai_link)
-{
-       lockdep_assert_held(&client_mutex);
-
-       /*
-        * Notify the machine driver for extra destruction
-        */
-       if (card->remove_dai_link)
-               card->remove_dai_link(card, dai_link);
-
-       list_del(&dai_link->list);
-
-       soc_unbind_dai_link(card, dai_link);
-}
-EXPORT_SYMBOL_GPL(snd_soc_remove_dai_link);
-
 static int soc_link_dai_pcm_new(struct snd_soc_dai **dais, int num_dais,
                                struct snd_soc_pcm_runtime *rtd)
 {