At Sat, 14 Nov 2009 15:18:54 +0200, alexey.kv@xxxxxxxxx wrote: > > From: Aleksey Kunitskiy <alexey.kv@xxxxxxxxx> > > Add proper suspend/resume code for Juli@ cards. Based on ice1724 > suspend/resume work of Igor Chernyshev. > Fixes bug https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4413 > Tested on linux-2.6.31.6 > > Signed-off-by: Aleksey Kunitskiy <alexey.kv@xxxxxxxxx> Applied now. Thanks. Takashi > --- > pci/ice1712/juli.c | 32 ++++++++++++++++++++++++++++++++ > 1 files changed, 32 insertions(+), 0 deletions(-) > > diff --git a/pci/ice1712/juli.c b/pci/ice1712/juli.c > index 4bed963..0c9413d 100644 > --- a/pci/ice1712/juli.c > +++ b/pci/ice1712/juli.c > @@ -483,6 +483,31 @@ static int __devinit juli_add_controls(struct snd_ice1712 *ice) > } > > /* > + * suspend/resume > + * */ > + > +#ifdef CONFIG_PM > +static int juli_resume(struct snd_ice1712 *ice) > +{ > + struct snd_akm4xxx *ak = ice->akm; > + struct juli_spec *spec = ice->spec; > + /* akm4358 un-reset, un-mute */ > + snd_akm4xxx_reset(ak, 0); > + /* reinit ak4114 */ > + snd_ak4114_reinit(spec->ak4114); > + return 0; > +} > + > +static int juli_suspend(struct snd_ice1712 *ice) > +{ > + struct snd_akm4xxx *ak = ice->akm; > + /* akm4358 reset and soft-mute */ > + snd_akm4xxx_reset(ak, 1); > + return 0; > +} > +#endif > + > +/* > * initialize the chip > */ > > @@ -626,6 +651,13 @@ static int __devinit juli_init(struct snd_ice1712 *ice) > ice->set_spdif_clock = juli_set_spdif_clock; > > ice->spdif.ops.open = juli_spdif_in_open; > + > +#ifdef CONFIG_PM > + ice->pm_resume = juli_resume; > + ice->pm_suspend = juli_suspend; > + ice->pm_suspend_enabled = 1; > +#endif > + > return 0; > } > > -- > 1.6.4.4 > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel