Commit 9a4253db authored by Michael S. Tsirkin's avatar Michael S. Tsirkin

virtio_pci: move probe to common file

It turns out this make everything easier.
Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
parent de2b48d5
...@@ -458,7 +458,39 @@ static int virtio_pci_restore(struct device *dev) ...@@ -458,7 +458,39 @@ static int virtio_pci_restore(struct device *dev)
return virtio_device_restore(&vp_dev->vdev); 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) SET_SYSTEM_SLEEP_PM_OPS(virtio_pci_freeze, virtio_pci_restore)
}; };
#endif #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);
...@@ -128,8 +128,8 @@ const char *vp_bus_name(struct virtio_device *vdev); ...@@ -128,8 +128,8 @@ const char *vp_bus_name(struct virtio_device *vdev);
int vp_set_vq_affinity(struct virtqueue *vq, int cpu); int vp_set_vq_affinity(struct virtqueue *vq, int cpu);
void virtio_pci_release_dev(struct device *); void virtio_pci_release_dev(struct device *);
#ifdef CONFIG_PM_SLEEP int virtio_pci_legacy_probe(struct pci_dev *pci_dev,
extern const struct dev_pm_ops virtio_pci_pm_ops; const struct pci_device_id *id);
#endif void virtio_pci_legacy_remove(struct pci_dev *pci_dev);
#endif #endif
...@@ -19,14 +19,6 @@ ...@@ -19,14 +19,6 @@
#include "virtio_pci_common.h" #include "virtio_pci_common.h"
/* 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);
/* virtio config->get_features() implementation */ /* virtio config->get_features() implementation */
static u64 vp_get_features(struct virtio_device *vdev) static u64 vp_get_features(struct virtio_device *vdev)
{ {
...@@ -220,7 +212,7 @@ static const struct virtio_config_ops virtio_pci_config_ops = { ...@@ -220,7 +212,7 @@ static const struct virtio_config_ops virtio_pci_config_ops = {
}; };
/* the PCI probing function */ /* the PCI probing function */
static int virtio_pci_probe(struct pci_dev *pci_dev, int virtio_pci_legacy_probe(struct pci_dev *pci_dev,
const struct pci_device_id *id) const struct pci_device_id *id)
{ {
struct virtio_pci_device *vp_dev; struct virtio_pci_device *vp_dev;
...@@ -300,7 +292,7 @@ static int virtio_pci_probe(struct pci_dev *pci_dev, ...@@ -300,7 +292,7 @@ static int virtio_pci_probe(struct pci_dev *pci_dev,
return err; return err;
} }
static void virtio_pci_remove(struct pci_dev *pci_dev) void virtio_pci_legacy_remove(struct pci_dev *pci_dev)
{ {
struct virtio_pci_device *vp_dev = pci_get_drvdata(pci_dev); struct virtio_pci_device *vp_dev = pci_get_drvdata(pci_dev);
...@@ -312,15 +304,3 @@ static void virtio_pci_remove(struct pci_dev *pci_dev) ...@@ -312,15 +304,3 @@ static void virtio_pci_remove(struct pci_dev *pci_dev)
pci_disable_device(pci_dev); pci_disable_device(pci_dev);
kfree(vp_dev); kfree(vp_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);
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