[alsa-devel] [PATCH] ASoC: dapm: don't skip evaluate the power of widget with force set
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com> --- sound/soc/soc-dapm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index c8a780d..14af77e 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c @@ -1673,7 +1673,7 @@ static void dapm_widget_set_peer_power(struct snd_soc_dapm_widget *peer, /* If the peer is already in the state we're moving to then we * won't have an impact on it. */ - if (power != peer->power) + if (peer->force || power != peer->power) dapm_mark_dirty(peer, "peer state change"); } @@ -1683,7 +1683,7 @@ static void dapm_widget_set_power(struct snd_soc_dapm_widget *w, bool power, { struct snd_soc_dapm_path *path; - if (w->power == power) + if (!w->force && w->power == power) return; trace_snd_soc_dapm_widget_power(w, power); -- 1.8.1.2
On Sun, Apr 13, 2014 at 04:37:20PM +0800, Xiang Xiao wrote:
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
You should explain why you want to do this in the changelog - what's the problem that's being fixed or benefit?
- if (power != peer->power) + if (peer->force || power != peer->power) dapm_mark_dirty(peer, "peer state change");
This doesn't correspond to your changelog - it *will* skip evaluating the widget power if the widget is forced. It's not clear why this would be a benefit.
- if (w->power == power) + if (!w->force && w->power == power) return;
Similarly here.
participants (2)
-
Mark Brown -
Xiang Xiao