Skip to content

Commit

Permalink
ASoC: Factor out widget power check operation
Browse files Browse the repository at this point in the history
We've got the same code in two different places, let's have it in a single
place instead.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
  • Loading branch information
Mark Brown committed Oct 4, 2011
1 parent 35c64bc commit d805002
Showing 1 changed file with 10 additions and 11 deletions.
21 changes: 10 additions & 11 deletions sound/soc/soc-dapm.c
Original file line number Diff line number Diff line change
Expand Up @@ -771,6 +771,14 @@ int dapm_reg_event(struct snd_soc_dapm_widget *w,
}
EXPORT_SYMBOL_GPL(dapm_reg_event);

static int dapm_widget_power_check(struct snd_soc_dapm_widget *w)
{
if (w->force)
return 1;
else
return w->power_check(w);
}

/* Generic check to see if a widget should be powered.
*/
static int dapm_generic_check_power(struct snd_soc_dapm_widget *w)
Expand Down Expand Up @@ -840,13 +848,7 @@ static int dapm_supply_check_power(struct snd_soc_dapm_widget *w)
if (!path->sink)
continue;

if (path->sink->force) {
power = 1;
break;
}

if (path->sink->power_check &&
path->sink->power_check(path->sink)) {
if (dapm_widget_power_check(path->sink)) {
power = 1;
break;
}
Expand Down Expand Up @@ -1234,10 +1236,7 @@ static void dapm_power_one_widget(struct snd_soc_dapm_widget *w,
break;

default:
if (!w->force)
power = w->power_check(w);
else
power = 1;
power = dapm_widget_power_check(w);

dapm_widget_set_power(w, power, up_list, down_list);
break;
Expand Down

0 comments on commit d805002

Please sign in to comment.