aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2011-04-12 20:37:52 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-04-13 13:02:23 -0400
commitb7a5d14c607093de1a030e9933bc8c95ab2afd3f (patch)
tree9dc8ee166f86d369e52b0c91bb6be164f81c5a5a /sound
parent556e4fb1d801b0f977b1522e14fb06e2f3059f4c (diff)
ASoC: Mark Speyside widgets as ignoring suspend
Allow audio paths through the Speyside system to be kept active while the system is suspended (for example, when on a voice call) by marking all the external widgets and the DAI link to the WM1250-EV1 baseband module as ignoring suspend. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Jassi Brar <jassisinghbrar@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/samsung/speyside.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/sound/soc/samsung/speyside.c b/sound/soc/samsung/speyside.c
index a0c14a87e23d..337855a3f2fe 100644
--- a/sound/soc/samsung/speyside.c
+++ b/sound/soc/samsung/speyside.c
@@ -153,6 +153,19 @@ static int speyside_wm8915_init(struct snd_soc_pcm_runtime *rtd)
153 return 0; 153 return 0;
154} 154}
155 155
156static int speyside_late_probe(struct snd_soc_card *card)
157{
158 snd_soc_dapm_ignore_suspend(&card->dapm, "Headphone");
159 snd_soc_dapm_ignore_suspend(&card->dapm, "Headset Mic");
160 snd_soc_dapm_ignore_suspend(&card->dapm, "Main AMIC");
161 snd_soc_dapm_ignore_suspend(&card->dapm, "Main DMIC");
162 snd_soc_dapm_ignore_suspend(&card->dapm, "Speaker");
163 snd_soc_dapm_ignore_suspend(&card->dapm, "WM1250 Output");
164 snd_soc_dapm_ignore_suspend(&card->dapm, "WM1250 Input");
165
166 return 0;
167}
168
156static struct snd_soc_dai_link speyside_dai[] = { 169static struct snd_soc_dai_link speyside_dai[] = {
157 { 170 {
158 .name = "CPU", 171 .name = "CPU",
@@ -172,6 +185,7 @@ static struct snd_soc_dai_link speyside_dai[] = {
172 .codec_name = "wm1250-ev1.1-0027", 185 .codec_name = "wm1250-ev1.1-0027",
173 .platform_name = "samsung-audio", 186 .platform_name = "samsung-audio",
174 .ops = &speyside_ops, 187 .ops = &speyside_ops,
188 .ignore_suspend = 1,
175 }, 189 },
176}; 190};
177 191
@@ -261,6 +275,8 @@ static struct snd_soc_card speyside = {
261 .num_dapm_widgets = ARRAY_SIZE(widgets), 275 .num_dapm_widgets = ARRAY_SIZE(widgets),
262 .dapm_routes = audio_paths, 276 .dapm_routes = audio_paths,
263 .num_dapm_routes = ARRAY_SIZE(audio_paths), 277 .num_dapm_routes = ARRAY_SIZE(audio_paths),
278
279 .late_probe = speyside_late_probe,
264}; 280};
265 281
266static __devinit int speyside_probe(struct platform_device *pdev) 282static __devinit int speyside_probe(struct platform_device *pdev)