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>

Amit Shah 04c2322b 0517fdd1

Changed files
+3 -21
drivers
virtio
+3 -21
drivers/virtio/virtio_pci.c
··· 720 720 } 721 721 722 722 #ifdef CONFIG_PM 723 - static int virtio_pci_suspend(struct device *dev) 724 - { 725 - struct pci_dev *pci_dev = to_pci_dev(dev); 726 - 727 - pci_save_state(pci_dev); 728 - pci_set_power_state(pci_dev, PCI_D3hot); 729 - return 0; 730 - } 731 - 732 - static int virtio_pci_resume(struct device *dev) 733 - { 734 - struct pci_dev *pci_dev = to_pci_dev(dev); 735 - 736 - pci_restore_state(pci_dev); 737 - pci_set_power_state(pci_dev, PCI_D0); 738 - return 0; 739 - } 740 - 741 723 static int virtio_pci_freeze(struct device *dev) 742 724 { 743 725 struct pci_dev *pci_dev = to_pci_dev(dev); ··· 768 786 } 769 787 770 788 static const struct dev_pm_ops virtio_pci_pm_ops = { 771 - .suspend = virtio_pci_suspend, 772 - .resume = virtio_pci_resume, 789 + .suspend = virtio_pci_freeze, 790 + .resume = virtio_pci_restore, 773 791 .freeze = virtio_pci_freeze, 774 792 .thaw = virtio_pci_restore, 775 793 .restore = virtio_pci_restore, 776 - .poweroff = virtio_pci_suspend, 794 + .poweroff = virtio_pci_freeze, 777 795 }; 778 796 #endif 779 797