diff options
author | Amit Shah <amit.shah@redhat.com> | 2012-03-29 11:21:41 +0400 |
---|---|---|
committer | Amit Shah <amit.shah@redhat.com> | 2012-03-31 06:39:51 +0400 |
commit | 04c2322bee841121cfdd7f284e1d4274e9e60e33 (patch) | |
tree | b1968224ab84bef66adba00d7480d4b449a0c946 /drivers/virtio | |
parent | 0517fdd156c46c23501451158c6b0ff9fb7236d1 (diff) | |
download | linux-04c2322bee841121cfdd7f284e1d4274e9e60e33.tar.xz |
virtio-pci: S3 support
There's no difference in supporting S3 and S4 for virtio devices: the
vqs have to be re-created as the device has to be assumed to be reset at
restore-time. Since S4 already handles this situation, we can directly
use the same code and callbacks for S3 support.
Signed-off-by: Amit Shah <amit.shah@redhat.com>
Diffstat (limited to 'drivers/virtio')
-rw-r--r-- | drivers/virtio/virtio_pci.c | 24 |
1 files changed, 3 insertions, 21 deletions
diff --git a/drivers/virtio/virtio_pci.c b/drivers/virtio/virtio_pci.c index 982d6c9a2bf0..0fa4f8551c3a 100644 --- a/drivers/virtio/virtio_pci.c +++ b/drivers/virtio/virtio_pci.c @@ -720,24 +720,6 @@ static void __devexit virtio_pci_remove(struct pci_dev *pci_dev) } #ifdef CONFIG_PM -static int virtio_pci_suspend(struct device *dev) -{ - struct pci_dev *pci_dev = to_pci_dev(dev); - - pci_save_state(pci_dev); - pci_set_power_state(pci_dev, PCI_D3hot); - return 0; -} - -static int virtio_pci_resume(struct device *dev) -{ - struct pci_dev *pci_dev = to_pci_dev(dev); - - pci_restore_state(pci_dev); - pci_set_power_state(pci_dev, PCI_D0); - return 0; -} - static int virtio_pci_freeze(struct device *dev) { struct pci_dev *pci_dev = to_pci_dev(dev); @@ -786,12 +768,12 @@ static int virtio_pci_restore(struct device *dev) } static const struct dev_pm_ops virtio_pci_pm_ops = { - .suspend = virtio_pci_suspend, - .resume = virtio_pci_resume, + .suspend = virtio_pci_freeze, + .resume = virtio_pci_restore, .freeze = virtio_pci_freeze, .thaw = virtio_pci_restore, .restore = virtio_pci_restore, - .poweroff = virtio_pci_suspend, + .poweroff = virtio_pci_freeze, }; #endif |