diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2011-04-12 20:37:52 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2011-04-13 13:02:23 -0400 |
commit | b7a5d14c607093de1a030e9933bc8c95ab2afd3f (patch) | |
tree | 9dc8ee166f86d369e52b0c91bb6be164f81c5a5a /sound | |
parent | 556e4fb1d801b0f977b1522e14fb06e2f3059f4c (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.c | 16 |
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 | ||
156 | static 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 | |||
156 | static struct snd_soc_dai_link speyside_dai[] = { | 169 | static 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 | ||
266 | static __devinit int speyside_probe(struct platform_device *pdev) | 282 | static __devinit int speyside_probe(struct platform_device *pdev) |