summaryrefslogtreecommitdiffstats
path: root/sound/pci/hda
diff options
context:
space:
mode:
authorMatt <matt@embeddedalley.com>2005-06-27 15:06:52 +0200
committerJaroslav Kysela <perex@suse.cz>2005-07-28 12:09:31 +0200
commitff6fdc37fbe66e24ef9ad7c23a278ff757480dda (patch)
tree521907c2e59c4596d513499e8990126f517879ba /sound/pci/hda
parent[ALSA] hda-codec - SigmaTel HDA multichannel support (diff)
downloadlinux-ff6fdc37fbe66e24ef9ad7c23a278ff757480dda.tar.xz
linux-ff6fdc37fbe66e24ef9ad7c23a278ff757480dda.zip
[ALSA] hda-codec - SigmaTel HDA resume support
HDA Codec driver Adds resume support to the SigmaTel HDA patch. Please apply. Signed-off-by: Matt <matt@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda')
-rw-r--r--sound/pci/hda/patch_sigmatel.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index fad825677e7c..01cc58a247c1 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -828,11 +828,32 @@ static void stac92xx_free(struct hda_codec *codec)
kfree(spec);
}
+#ifdef CONFIG_PM
+static int stac92xx_resume(struct hda_codec *codec)
+{
+ struct sigmatel_spec *spec = codec->spec;
+ int i;
+
+ stac92xx_init(codec);
+ for (i = 0; i < spec->num_mixers; i++)
+ snd_hda_resume_ctls(codec, spec->mixers[i]);
+ if (spec->multiout.dig_out_nid)
+ snd_hda_resume_spdif_out(codec);
+ if (spec->dig_in_nid)
+ snd_hda_resume_spdif_in(codec);
+
+ return 0;
+}
+#endif
+
static struct hda_codec_ops stac92xx_patch_ops = {
.build_controls = stac92xx_build_controls,
.build_pcms = stac92xx_build_pcms,
.init = stac92xx_init,
.free = stac92xx_free,
+#ifdef CONFIG_PM
+ .resume = stac92xx_resume,
+#endif
};
static int patch_stac9200(struct hda_codec *codec)