aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/ice1712/juli.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/ice1712/juli.c')
-rw-r--r--sound/pci/ice1712/juli.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/sound/pci/ice1712/juli.c b/sound/pci/ice1712/juli.c
index fd948bfd9aef..f5020ad99a10 100644
--- a/sound/pci/ice1712/juli.c
+++ b/sound/pci/ice1712/juli.c
@@ -504,6 +504,31 @@ static int __devinit juli_add_controls(struct snd_ice1712 *ice)
504} 504}
505 505
506/* 506/*
507 * suspend/resume
508 * */
509
510#ifdef CONFIG_PM
511static int juli_resume(struct snd_ice1712 *ice)
512{
513 struct snd_akm4xxx *ak = ice->akm;
514 struct juli_spec *spec = ice->spec;
515 /* akm4358 un-reset, un-mute */
516 snd_akm4xxx_reset(ak, 0);
517 /* reinit ak4114 */
518 snd_ak4114_reinit(spec->ak4114);
519 return 0;
520}
521
522static int juli_suspend(struct snd_ice1712 *ice)
523{
524 struct snd_akm4xxx *ak = ice->akm;
525 /* akm4358 reset and soft-mute */
526 snd_akm4xxx_reset(ak, 1);
527 return 0;
528}
529#endif
530
531/*
507 * initialize the chip 532 * initialize the chip
508 */ 533 */
509 534
@@ -646,6 +671,13 @@ static int __devinit juli_init(struct snd_ice1712 *ice)
646 ice->set_spdif_clock = juli_set_spdif_clock; 671 ice->set_spdif_clock = juli_set_spdif_clock;
647 672
648 ice->spdif.ops.open = juli_spdif_in_open; 673 ice->spdif.ops.open = juli_spdif_in_open;
674
675#ifdef CONFIG_PM
676 ice->pm_resume = juli_resume;
677 ice->pm_suspend = juli_suspend;
678 ice->pm_suspend_enabled = 1;
679#endif
680
649 return 0; 681 return 0;
650} 682}
651 683