]> git.baikalelectronics.ru Git - kernel.git/commit
ASoC: Extend DAPM to handle power changes on cross-device paths
authorJarkko Nikula <jhnikula@gmail.com>
Tue, 14 Dec 2010 10:18:32 +0000 (12:18 +0200)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 15 Dec 2010 18:01:34 +0000 (18:01 +0000)
commita86a5bfbdb92c4a4a240a211111a40fb2f85c3ff
tree04b4337378d63ff8051ec2ffd3323680ad8a4225
parent6561cba1c8be543d7a21d3dc3c0281e6266a88af
ASoC: Extend DAPM to handle power changes on cross-device paths

Power change event like stream start/stop or kcontrol change in a
cross-device path originates from one device but codec bias and widget power
changes must be populated to another devices on that path as well.

This patch modifies the dapm_power_widgets so that all the widgets on a
sound card are checked for a power change, not just those that are specific
to originating device. Also bias management is extended to check all the
devices. Only exception in bias management are widgetless codecs whose bias
state is changed only if power change is originating from that context.

DAPM context test is added to dapm_seq_run to take care of if power sequence
extends to an another device which requires separate register writes.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
include/sound/soc-dapm.h
include/sound/soc.h
sound/soc/soc-core.c
sound/soc/soc-dapm.c