ASoC: core: Replace soc_find_matching_codec() with soc_find_codec()
authorLars-Peter Clausen <lars@metafoo.de>
Tue, 1 Jul 2014 20:13:46 +0000 (22:13 +0200)
committerMark Brown <broonie@linaro.org>
Wed, 2 Jul 2014 20:24:07 +0000 (21:24 +0100)
soc_find_matching_codec() works in the same way as soc_find_codec() except that
it only works for auxdevs. It can easily be replaced by the generic
soc_find_codec().

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/soc-core.c

index 0cd36b781f4db8e6680efc37d6808345fb7a058a..c8bdac2db3774eaec14f070f46bbdfbd52c34663 100644 (file)
@@ -1649,32 +1649,13 @@ static void soc_unregister_ac97_dai_link(struct snd_soc_pcm_runtime *rtd)
 }
 #endif
 
-static struct snd_soc_codec *soc_find_matching_codec(struct snd_soc_card *card,
-       int num)
-{
-       struct snd_soc_aux_dev *aux_dev = &card->aux_dev[num];
-       struct snd_soc_codec *codec;
-
-       /* find CODEC from registered CODECs */
-       list_for_each_entry(codec, &codec_list, list) {
-               if (aux_dev->codec_of_node &&
-                  (codec->dev->of_node != aux_dev->codec_of_node))
-                       continue;
-               if (aux_dev->codec_name &&
-                       strcmp(codec->component.name, aux_dev->codec_name))
-                       continue;
-               return codec;
-       }
-
-       return NULL;
-}
-
 static int soc_check_aux_dev(struct snd_soc_card *card, int num)
 {
        struct snd_soc_aux_dev *aux_dev = &card->aux_dev[num];
        const char *codecname = aux_dev->codec_name;
-       struct snd_soc_codec *codec = soc_find_matching_codec(card, num);
+       struct snd_soc_codec *codec;
 
+       codec = soc_find_codec(aux_dev->codec_of_node, aux_dev->codec_name);
        if (codec)
                return 0;
        if (aux_dev->codec_of_node)
@@ -1689,8 +1670,9 @@ static int soc_probe_aux_dev(struct snd_soc_card *card, int num)
        struct snd_soc_aux_dev *aux_dev = &card->aux_dev[num];
        const char *codecname = aux_dev->codec_name;
        int ret = -ENODEV;
-       struct snd_soc_codec *codec = soc_find_matching_codec(card, num);
+       struct snd_soc_codec *codec;
 
+       codec = soc_find_codec(aux_dev->codec_of_node, aux_dev->codec_name);
        if (!codec) {
                if (aux_dev->codec_of_node)
                        codecname = of_node_full_name(aux_dev->codec_of_node);