diff options
author | Michael S. Tsirkin <mst@redhat.com> | 2014-12-11 20:47:49 +0100 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2014-12-14 14:10:30 +0100 |
commit | 9a4253db0c4ea1b6b15aa289203bc0584298278e (patch) | |
tree | 2c3bc1790be312a8eb5747c71105e6b27c09b362 /drivers/virtio/virtio_pci_common.c | |
parent | virtio_pci_common.h: drop VIRTIO_PCI_NO_LEGACY (diff) | |
download | linux-9a4253db0c4ea1b6b15aa289203bc0584298278e.tar.xz linux-9a4253db0c4ea1b6b15aa289203bc0584298278e.zip |
virtio_pci: move probe to common file
It turns out this make everything easier.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'drivers/virtio/virtio_pci_common.c')
-rw-r--r-- | drivers/virtio/virtio_pci_common.c | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/drivers/virtio/virtio_pci_common.c b/drivers/virtio/virtio_pci_common.c index 953057d84185..59d3685c31b4 100644 --- a/drivers/virtio/virtio_pci_common.c +++ b/drivers/virtio/virtio_pci_common.c @@ -458,7 +458,39 @@ static int virtio_pci_restore(struct device *dev) return virtio_device_restore(&vp_dev->vdev); } -const struct dev_pm_ops virtio_pci_pm_ops = { +static const struct dev_pm_ops virtio_pci_pm_ops = { SET_SYSTEM_SLEEP_PM_OPS(virtio_pci_freeze, virtio_pci_restore) }; #endif + + +/* Qumranet donated their vendor ID for devices 0x1000 thru 0x10FF. */ +static const struct pci_device_id virtio_pci_id_table[] = { + { PCI_DEVICE(0x1af4, PCI_ANY_ID) }, + { 0 } +}; + +MODULE_DEVICE_TABLE(pci, virtio_pci_id_table); + +static int virtio_pci_probe(struct pci_dev *pci_dev, + const struct pci_device_id *id) +{ + return virtio_pci_legacy_probe(pci_dev, id); +} + +static void virtio_pci_remove(struct pci_dev *pci_dev) +{ + virtio_pci_legacy_remove(pci_dev); +} + +static struct pci_driver virtio_pci_driver = { + .name = "virtio-pci", + .id_table = virtio_pci_id_table, + .probe = virtio_pci_probe, + .remove = virtio_pci_remove, +#ifdef CONFIG_PM_SLEEP + .driver.pm = &virtio_pci_pm_ops, +#endif +}; + +module_pci_driver(virtio_pci_driver); |