Commit 04c2322b authored by Amit Shah's avatar Amit Shah

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: default avatarAmit Shah <amit.shah@redhat.com>
parent 0517fdd1
...@@ -720,24 +720,6 @@ static void __devexit virtio_pci_remove(struct pci_dev *pci_dev) ...@@ -720,24 +720,6 @@ static void __devexit virtio_pci_remove(struct pci_dev *pci_dev)
} }
#ifdef CONFIG_PM #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) static int virtio_pci_freeze(struct device *dev)
{ {
struct pci_dev *pci_dev = to_pci_dev(dev); struct pci_dev *pci_dev = to_pci_dev(dev);
...@@ -786,12 +768,12 @@ static int virtio_pci_restore(struct device *dev) ...@@ -786,12 +768,12 @@ static int virtio_pci_restore(struct device *dev)
} }
static const struct dev_pm_ops virtio_pci_pm_ops = { static const struct dev_pm_ops virtio_pci_pm_ops = {
.suspend = virtio_pci_suspend, .suspend = virtio_pci_freeze,
.resume = virtio_pci_resume, .resume = virtio_pci_restore,
.freeze = virtio_pci_freeze, .freeze = virtio_pci_freeze,
.thaw = virtio_pci_restore, .thaw = virtio_pci_restore,
.restore = virtio_pci_restore, .restore = virtio_pci_restore,
.poweroff = virtio_pci_suspend, .poweroff = virtio_pci_freeze,
}; };
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment