• Mark Brown's avatar
    ASoC: Split DAPM power checks from sequencing of power changes · 6d3ddc81
    Mark Brown authored
    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: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
    6d3ddc81
soc-dapm.c 45.9 KB