From: Matt <matt@embeddedalley.com>
Date: Mon, 27 Jun 2005 13:06:52 +0000 (+0200)
Subject: [ALSA] hda-codec - SigmaTel HDA resume support
X-Git-Tag: firefly_0821_release~42639^2~50
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=ff6fdc37fbe66e24ef9ad7c23a278ff757480dda;p=firefly-linux-kernel-4.4.55.git

[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>
---

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)