[alsa-devel] [PATCH 8/8] ASoC: Mark Speyside widgets as ignoring suspend
Mark Brown
broonie at opensource.wolfsonmicro.com
Wed Apr 13 08:06:11 CEST 2011
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 at opensource.wolfsonmicro.com>
---
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 a0c14a8..337855a 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)
--
1.7.4.1
More information about the Alsa-devel
mailing list