diff options
author | Takashi Iwai <tiwai@suse.de> | 2015-01-08 06:43:46 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2015-01-09 10:24:18 -0500 |
commit | 08aa0e34305059a80f38e039f085fe91a7587cca (patch) | |
tree | f328a46239f2e286595fbfb60ed9fdc9d11a8183 /sound/pci/als300.c | |
parent | c4eaa62fdac3cdbf358e19625477ffc9a15d4c7b (diff) |
ALSA: als300: Simplify PM callbacks
This is a similar cleanup like the commit [3db084fd0af5: ALSA: fm801:
PCI core handles power state for us].
Since pci_set_power_state(), pci_save_state() and pci_restore_state()
are already done in the PCI core side, so we don't need to it doubly.
Also, pci_enable_device(), pci_disable_device() and pci_set_master()
calls in PM callbacks are superfluous nowadays, too, so get rid of
them as well.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/als300.c')
-rw-r--r-- | sound/pci/als300.c | 15 |
1 files changed, 0 insertions, 15 deletions
diff --git a/sound/pci/als300.c b/sound/pci/als300.c index 7bb6ac565107..bd01113de39a 100644 --- a/sound/pci/als300.c +++ b/sound/pci/als300.c | |||
@@ -728,35 +728,20 @@ static int snd_als300_create(struct snd_card *card, | |||
728 | #ifdef CONFIG_PM_SLEEP | 728 | #ifdef CONFIG_PM_SLEEP |
729 | static int snd_als300_suspend(struct device *dev) | 729 | static int snd_als300_suspend(struct device *dev) |
730 | { | 730 | { |
731 | struct pci_dev *pci = to_pci_dev(dev); | ||
732 | struct snd_card *card = dev_get_drvdata(dev); | 731 | struct snd_card *card = dev_get_drvdata(dev); |
733 | struct snd_als300 *chip = card->private_data; | 732 | struct snd_als300 *chip = card->private_data; |
734 | 733 | ||
735 | snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); | 734 | snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); |
736 | snd_pcm_suspend_all(chip->pcm); | 735 | snd_pcm_suspend_all(chip->pcm); |
737 | snd_ac97_suspend(chip->ac97); | 736 | snd_ac97_suspend(chip->ac97); |
738 | |||
739 | pci_disable_device(pci); | ||
740 | pci_save_state(pci); | ||
741 | pci_set_power_state(pci, PCI_D3hot); | ||
742 | return 0; | 737 | return 0; |
743 | } | 738 | } |
744 | 739 | ||
745 | static int snd_als300_resume(struct device *dev) | 740 | static int snd_als300_resume(struct device *dev) |
746 | { | 741 | { |
747 | struct pci_dev *pci = to_pci_dev(dev); | ||
748 | struct snd_card *card = dev_get_drvdata(dev); | 742 | struct snd_card *card = dev_get_drvdata(dev); |
749 | struct snd_als300 *chip = card->private_data; | 743 | struct snd_als300 *chip = card->private_data; |
750 | 744 | ||
751 | pci_set_power_state(pci, PCI_D0); | ||
752 | pci_restore_state(pci); | ||
753 | if (pci_enable_device(pci) < 0) { | ||
754 | dev_err(dev, "pci_enable_device failed, disabling device\n"); | ||
755 | snd_card_disconnect(card); | ||
756 | return -EIO; | ||
757 | } | ||
758 | pci_set_master(pci); | ||
759 | |||
760 | snd_als300_init(chip); | 745 | snd_als300_init(chip); |
761 | snd_ac97_resume(chip->ac97); | 746 | snd_ac97_resume(chip->ac97); |
762 | 747 | ||