ASoC: soc-core: tidyup snd_soc_lookup_component_nolocked()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tue, 19 Aug 2025 01:59:01 +0000 (01:59 +0000)
committerMark Brown <broonie@kernel.org>
Sun, 24 Aug 2025 21:40:54 +0000 (22:40 +0100)
snd_soc_lookup_component_nolocked() is very complex today.
Let's tidyup the code.

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

index c1cf205e0556954aef0e5ffc8da103027a155a27..cc9125ffe92ac0326a21469bdee2d10eb3234088 100644 (file)
@@ -369,21 +369,25 @@ struct snd_soc_component
 *snd_soc_lookup_component_nolocked(struct device *dev, const char *driver_name)
 {
        struct snd_soc_component *component;
-       struct snd_soc_component *found_component;
 
-       found_component = NULL;
        for_each_component(component) {
-               if ((dev == component->dev) &&
-                   (!driver_name ||
-                    (component->driver->name &&
-                     ((component->driver->name == driver_name) ||
-                      (strcmp(component->driver->name, driver_name) == 0))))) {
-                       found_component = component;
-                       break;
-               }
+               if (dev != component->dev)
+                       continue;
+
+               if (!driver_name)
+                       return component;
+
+               if (!component->driver->name)
+                       continue;
+
+               if (component->driver->name == driver_name)
+                       return component;
+
+               if (strcmp(component->driver->name, driver_name) == 0)
+                       return component;
        }
 
-       return found_component;
+       return NULL;
 }
 EXPORT_SYMBOL_GPL(snd_soc_lookup_component_nolocked);