ALSA: ASoC: Don't block system resume
authorAndy Green <andy@openmoko.com>
Fri, 13 Jun 2008 15:24:05 +0000 (16:24 +0100)
committerJaroslav Kysela <perex@perex.cz>
Mon, 16 Jun 2008 07:32:31 +0000 (09:32 +0200)
commit6ed2597883b1b03ca94f62f0cfe908314cba6d6b
treed19f086cdd31ca77ea1583cc147b19dfd8458190
parentabb68c26ba15f8e84e580a40c0b1bc349cb534b0
ALSA: ASoC: Don't block system resume

On OpenMoko soc-audio resume is taking 700ms of the whole resume time of
1.3s, dominated by writes to the codec over I2C.  This patch shunts the
resume guts into a workqueue which then is done asynchronously.

The "card" is locked using the ALSA power state APIs as suggested by
Mark Brown.

[Added fix for race with resume to suspend and fixed a couple of nits
from checkpatch -- broonie.]

Signed-off-by: Andy Green <andy@openmoko.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
include/sound/soc.h
sound/soc/soc-core.c