OSDN Git Service

ASoC: soc-core: tidyup snd_soc_lookup_component()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tue, 5 Nov 2019 06:46:35 +0000 (15:46 +0900)
committerMark Brown <broonie@kernel.org>
Tue, 5 Nov 2019 23:50:15 +0000 (23:50 +0000)
snd_soc_lookup_component() is using mix of continue and break
in the same loop. It is odd.
This patch cleanup it.

Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
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/874kzi3jn8.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-core.c

index b71bddb..acbaed4 100644 (file)
@@ -360,25 +360,22 @@ struct snd_soc_component *snd_soc_lookup_component(struct device *dev,
                                                   const char *driver_name)
 {
        struct snd_soc_component *component;
-       struct snd_soc_component *ret;
+       struct snd_soc_component *found_component;
 
-       ret = NULL;
+       found_component = NULL;
        mutex_lock(&client_mutex);
        for_each_component(component) {
-               if (dev != component->dev)
-                       continue;
-
-               if (driver_name &&
-                   (driver_name != component->driver->name) &&
-                   (strcmp(component->driver->name, driver_name) != 0))
-                       continue;
-
-               ret = component;
-               break;
+               if ((dev == component->dev) &&
+                   (!driver_name ||
+                    (driver_name == component->driver->name) ||
+                    (strcmp(component->driver->name, driver_name) == 0))) {
+                       found_component = component;
+                       break;
+               }
        }
        mutex_unlock(&client_mutex);
 
-       return ret;
+       return found_component;
 }
 EXPORT_SYMBOL_GPL(snd_soc_lookup_component);