ASoC: Stop checking for supplied widgets after we find the first
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 4 Oct 2011 21:57:50 +0000 (22:57 +0100)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 5 Oct 2011 10:22:40 +0000 (11:22 +0100)
We don't really care how many widgets a supply is supplying, we just care
if the number is non-zero. This didn't actually produce any improvement
in the test cases I've been using but seems obviously sensible enough that
I'm pushing it out anyway.

We could do a similar thing for other widgets but this may be unhelpful
for further refactorings Liam was working on aiming to allow us to
identify connected audio paths.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/soc-dapm.c

index cbca1dd..82d93bf 100644 (file)
@@ -851,7 +851,6 @@ static int dapm_dac_check_power(struct snd_soc_dapm_widget *w)
 static int dapm_supply_check_power(struct snd_soc_dapm_widget *w)
 {
        struct snd_soc_dapm_path *path;
-       int power = 0;
 
        DAPM_UPDATE_STAT(w, power_checks);
 
@@ -869,15 +868,13 @@ static int dapm_supply_check_power(struct snd_soc_dapm_widget *w)
                if (!path->sink)
                        continue;
 
-               if (dapm_widget_power_check(path->sink)) {
-                       power = 1;
-                       break;
-               }
+               if (dapm_widget_power_check(path->sink))
+                       return 1;
        }
 
        dapm_clear_walk(w->dapm);
 
-       return power;
+       return 0;
 }
 
 static int dapm_always_on_check_power(struct snd_soc_dapm_widget *w)