ASoC: dapm: Make enable/disable_pin work with always on widgets
Always on widgets currently have some odd interactions with DAPM. Enabling/disabling a widget (snd_soc_dapm_enable_pin) then connecting it to a path works as expected, ie. when the widget is disabled the path doesn't power up and it does when the widget is enabled. However once in a path enabling the widget does not cause anything to power up, dapm_widget_set_power will return the current power state of the widget as 1, meaning we never check peer power states. This patch updates dapm_always_on_check_power to return w->connected such that it is effected by snd_soc_dapm_enable_pin and the like. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
f299eccc0f
commit
20bb0184f2
1 changed files with 1 additions and 1 deletions
|
@ -1300,7 +1300,7 @@ static int dapm_supply_check_power(struct snd_soc_dapm_widget *w)
|
|||
|
||||
static int dapm_always_on_check_power(struct snd_soc_dapm_widget *w)
|
||||
{
|
||||
return 1;
|
||||
return w->connected;
|
||||
}
|
||||
|
||||
static int dapm_seq_compare(struct snd_soc_dapm_widget *a,
|
||||
|
|
Loading…
Reference in a new issue