diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2011-04-12 17:37:52 -0700 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2011-04-13 10:02:23 -0700 |
commit | b7a5d14c607093de1a030e9933bc8c95ab2afd3f (patch) | |
tree | 9dc8ee166f86d369e52b0c91bb6be164f81c5a5a /sound/soc/samsung/speyside.c | |
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/soc/samsung/speyside.c')
-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 a0c14a87e23..337855a3f2f 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) return 0; } +static int speyside_late_probe(struct snd_soc_card *card) +{ + snd_soc_dapm_ignore_suspend(&card->dapm, "Headphone"); + snd_soc_dapm_ignore_suspend(&card->dapm, "Headset Mic"); + snd_soc_dapm_ignore_suspend(&card->dapm, "Main AMIC"); + snd_soc_dapm_ignore_suspend(&card->dapm, "Main DMIC"); + snd_soc_dapm_ignore_suspend(&card->dapm, "Speaker"); + snd_soc_dapm_ignore_suspend(&card->dapm, "WM1250 Output"); + snd_soc_dapm_ignore_suspend(&card->dapm, "WM1250 Input"); + + return 0; +} + static struct snd_soc_dai_link speyside_dai[] = { { .name = "CPU", @@ -172,6 +185,7 @@ static struct snd_soc_dai_link speyside_dai[] = { .codec_name = "wm1250-ev1.1-0027", .platform_name = "samsung-audio", .ops = &speyside_ops, + .ignore_suspend = 1, }, }; @@ -261,6 +275,8 @@ static struct snd_soc_card speyside = { .num_dapm_widgets = ARRAY_SIZE(widgets), .dapm_routes = audio_paths, .num_dapm_routes = ARRAY_SIZE(audio_paths), + + .late_probe = speyside_late_probe, }; static __devinit int speyside_probe(struct platform_device *pdev) |