At Sat, 14 Nov 2009 15:18:54 +0200, alexey.kv@gmail.com wrote:
From: Aleksey Kunitskiy alexey.kv@gmail.com
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@gmail.com
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