diff options
author | Matt <matt@embeddedalley.com> | 2005-06-27 17:06:52 +0400 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2005-07-28 14:09:31 +0400 |
commit | ff6fdc37fbe66e24ef9ad7c23a278ff757480dda (patch) | |
tree | 521907c2e59c4596d513499e8990126f517879ba | |
parent | c7d4b2fa3169a1206450bc445d1997a17479644f (diff) | |
download | linux-ff6fdc37fbe66e24ef9ad7c23a278ff757480dda.tar.xz |
[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>
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 21 |
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) |