This set of patches adds handling for system suspend. Patches 1..4 make some code changes that simplify the suspend implementation, mainly to avoid race conditions.
There are two seperate aspects to suspend, and these have been done as two patches: - the main suspend-resume handling, - re-loading the firmware if necessary after resume.
Richard Fitzgerald (6): ASoC: cs35l56: Remove quick-cancelling of dsp_work() ASoC: cs35l56: Use DAPM widget for firmware PLAY/PAUSE ASoC: cs35l56: Skip first init_completion wait in dsp_work if init_done ASoC: cs35l56: Always wait for firmware boot in runtime-resume ASoC: cs35l56: Add basic system suspend handling ASoC: cs35l56: Re-patch firmware after system suspend
include/sound/cs35l56.h | 4 + sound/soc/codecs/cs35l56-sdw.c | 36 ++++ sound/soc/codecs/cs35l56.c | 335 ++++++++++++++++++++++++++------- sound/soc/codecs/cs35l56.h | 7 +- 4 files changed, 308 insertions(+), 74 deletions(-)