• Ben Zhang's avatar
    ASoC: nau8825: Fix jack detection across suspend · e6cee900
    Ben Zhang authored
    Jack plug status is rechecked at resume to handle plug/unplug
    in S3 when the chip has no power.
    
    Suspend/resume callbacks are moved from the i2c dev_pm_ops to
    snd_soc_codec_driver. soc_resume_deferred is a delayed work
    which may trigger nau8825_set_bias_level. The bias change races
    against dev_pm_ops, causing jack detection issues.
    soc_resume_deferred ensures bias change and snd_soc_codec_driver
    suspend/resume are sequenced correctly.
    Signed-off-by: default avatarBen Zhang <benzh@chromium.org>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    e6cee900
nau8825.c 43.8 KB