ASoC: Split DAPM power checks from sequencing of power changes
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Sat, 16 May 2009 16:47:29 +0000 (17:47 +0100)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 18 May 2009 14:53:14 +0000 (15:53 +0100)
commit6d3ddc81f5762d54ce7d1db70eb757c6c12fabbc
treeb476a394790be86d97d9fc47beff0de6e1186c96
parentb7a755a8a145a7e34e735bda9c452317de7a538a
ASoC: Split DAPM power checks from sequencing of power changes

DAPM has always applied any changes to the power state of widgets as soon
as it has determined that they are required. Instead of doing this store
all the changes that are required on lists of widgets to power up and
down, then iterate over those lists and apply the changes. This changes
the sequence in which changes are implemented, doing all power downs
before power ups and always using the up/down sequences (previously they
were only used when changes were due to DAC/ADC power events). The error
handling is also changed so that we continue attempting to power widgets
if some changes fail.

The main benefit of this is to allow future changes to do optimisations
over the whole power sequence and to reduce the number of walks of the
widget graph required to check the power status of widgets.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
include/sound/soc-dapm.h
include/sound/soc.h
sound/soc/soc-dapm.c