diff options
| -rw-r--r-- | sound/pci/ice1712/juli.c | 32 |
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 | ||
| 511 | static 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 | |||
| 522 | static 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 | ||
