OSDN Git Service

ASoC: soc-core: remove unneeded dai_link check from snd_soc_remove_dai_link()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tue, 20 Aug 2019 05:04:58 +0000 (14:04 +0900)
committerMark Brown <broonie@kernel.org>
Wed, 21 Aug 2019 12:11:37 +0000 (13:11 +0100)
snd_soc_remove_dai_link() has card connected dai_link check. but
1) we need to call list_del() anyway,
   because it is "remove" function,
2) It is doing many thing for this card / dai_link already
   before checking dai_link.

This patch removes poinless dai_link check

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/875zms1ldm.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-core.c

index d428491..6df880b 100644 (file)
@@ -1182,8 +1182,6 @@ EXPORT_SYMBOL_GPL(snd_soc_add_dai_link);
 void snd_soc_remove_dai_link(struct snd_soc_card *card,
                             struct snd_soc_dai_link *dai_link)
 {
-       struct snd_soc_dai_link *link, *_link;
-
        if (dai_link->dobj.type
            && dai_link->dobj.type != SND_SOC_DOBJ_DAI_LINK) {
                dev_err(card->dev, "Invalid dai link type %d\n",
@@ -1199,12 +1197,7 @@ void snd_soc_remove_dai_link(struct snd_soc_card *card,
        if (dai_link->dobj.type && card->remove_dai_link)
                card->remove_dai_link(card, dai_link);
 
-       for_each_card_links_safe(card, link, _link) {
-               if (link == dai_link) {
-                       list_del(&link->list);
-                       return;
-               }
-       }
+       list_del(&dai_link->list);
 }
 EXPORT_SYMBOL_GPL(snd_soc_remove_dai_link);