ASoC: dapm: Make sure register value is in sync with DAPM kcontrol state
authorJarkko Nikula <jarkko.nikula@linux.intel.com>
Mon, 9 Jun 2014 11:20:29 +0000 (14:20 +0300)
committerMark Brown <broonie@linaro.org>
Mon, 9 Jun 2014 19:56:53 +0000 (20:56 +0100)
commit18626c7ebc05e6486712cc129d8da83d07da9dc7
treef0563d1c03be2bd183ab1b124c58f182a5237ca2
parente1d4d3c854f25cff6c6c139588570e124d5e8fa4
ASoC: dapm: Make sure register value is in sync with DAPM kcontrol state

Commit c9e065c27fe9 ("ASoC: dapm: Make sure to always update the DAPM graph
in _put_volsw()") stopped updating register values in those cases where
initial after boot state of kcontrol appears to not change but where
register value still needs update because it is not in sync with the
kcontrol state.

Fix this by doing snd_soc_test_bits() unconditionally as it was before but
by using separate flags for kcontrol and register state changes. This allow
both DAPM graph to be updated when disabling auto-muted control and update
register if it is out-of-sync in respect of kcontrol state.

Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/soc-dapm.c