ASoC: soc-core: soc_find_component() uses snd_soc_is_matching_component()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Thu, 20 Jun 2019 00:49:23 +0000 (09:49 +0900)
committerMark Brown <broonie@kernel.org>
Mon, 24 Jun 2019 16:23:19 +0000 (17:23 +0100)
ALSA SoC already has snd_soc_is_matching_component() to confirming
matching component, but, soc_find_component() has original
implementation to confirm component.

We shouldn't have duplicate implementation to do same things.
This patch uses snd_soc_is_matching_component() at soc_find_component()

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-core.c

index 1b94119..e6b95b7 100644 (file)
@@ -780,22 +780,18 @@ static int snd_soc_is_matching_component(
 }
 
 static struct snd_soc_component *soc_find_component(
-       const struct device_node *of_node, const char *name)
+       struct device_node *of_node, const char *name)
 {
        struct snd_soc_component *component;
-       struct device_node *component_of_node;
+       struct snd_soc_dai_link_component dlc;
 
        lockdep_assert_held(&client_mutex);
 
        for_each_component(component) {
-               if (of_node) {
-                       component_of_node = soc_component_to_node(component);
-
-                       if (component_of_node == of_node)
-                               return component;
-               } else if (name && strcmp(component->name, name) == 0) {
+               dlc.name = name;
+               dlc.of_node = of_node;
+               if (snd_soc_is_matching_component(&dlc, component))
                        return component;
-               }
        }
 
        return NULL;