• Richard Fitzgerald's avatar
    ASoC: cs42l42: Handle system suspend · f8593e88
    Richard Fitzgerald authored
    Add system suspend functions to handle clean power-down on suspend and
    restoring registers on resume.
    
    The jack state could change during suspend. Plug->unplug and unplug->plug
    are straightforward because this looks no different from any other plug
    state change - there will be a plugged or unplugged interrupt pending.
    The jack could be unplugged and a different type of jack plugged, and on
    resume the plug state would not have changed. Setting plug_state back to
    TS_TRANS (transitioning) will make the next plug interrupt after resume
    run a type detection.
    
    During system suspend any jack plug/unplug and button events will not be
    reported or generate a system wakeup. If the plug state or headset type
    has changed it will be reported after resume.
    Signed-off-by: default avatarRichard Fitzgerald <rf@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20220121120412.672284-4-rf@opensource.cirrus.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
    f8593e88
cs42l42.h 35 KB