aboutsummaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorAndy Green <andy@openmoko.com>2008-06-13 11:24:05 -0400
committerJaroslav Kysela <perex@perex.cz>2008-06-16 03:32:31 -0400
commit6ed2597883b1b03ca94f62f0cfe908314cba6d6b (patch)
treed19f086cdd31ca77ea1583cc147b19dfd8458190 /include/sound
parentabb68c26ba15f8e84e580a40c0b1bc349cb534b0 (diff)
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>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/soc.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h
index 1f5c62181002..340223a8f24c 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -510,6 +510,7 @@ struct snd_soc_device {
510 struct snd_soc_codec *codec; 510 struct snd_soc_codec *codec;
511 struct snd_soc_codec_device *codec_dev; 511 struct snd_soc_codec_device *codec_dev;
512 struct delayed_work delayed_work; 512 struct delayed_work delayed_work;
513 struct work_struct deferred_resume_work;
513 void *codec_data; 514 void *codec_data;
514}; 515};
515 516