aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda
diff options
context:
space:
mode:
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)
828 kfree(spec); 828 kfree(spec);
829} 829}
830 830
831#ifdef CONFIG_PM
832static int stac92xx_resume(struct hda_codec *codec)
833{
834 struct sigmatel_spec *spec = codec->spec;
835 int i;
836
837 stac92xx_init(codec);
838 for (i = 0; i < spec->num_mixers; i++)
839 snd_hda_resume_ctls(codec, spec->mixers[i]);
840 if (spec->multiout.dig_out_nid)
841 snd_hda_resume_spdif_out(codec);
842 if (spec->dig_in_nid)
843 snd_hda_resume_spdif_in(codec);
844
845 return 0;
846}
847#endif
848
831static struct hda_codec_ops stac92xx_patch_ops = { 849static struct hda_codec_ops stac92xx_patch_ops = {
832 .build_controls = stac92xx_build_controls, 850 .build_controls = stac92xx_build_controls,
833 .build_pcms = stac92xx_build_pcms, 851 .build_pcms = stac92xx_build_pcms,
834 .init = stac92xx_init, 852 .init = stac92xx_init,
835 .free = stac92xx_free, 853 .free = stac92xx_free,
854#ifdef CONFIG_PM
855 .resume = stac92xx_resume,
856#endif
836}; 857};
837 858
838static int patch_stac9200(struct hda_codec *codec) 859static int patch_stac9200(struct hda_codec *codec)