Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+33 −1
Original line number Diff line number Diff line
@@ -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);
+3 −3
Original line number Diff line number Diff line
@@ -128,8 +128,8 @@ const char *vp_bus_name(struct virtio_device *vdev);
int vp_set_vq_affinity(struct virtqueue *vq, int cpu);
void virtio_pci_release_dev(struct device *);

#ifdef CONFIG_PM_SLEEP
extern const struct dev_pm_ops virtio_pci_pm_ops;
#endif
int virtio_pci_legacy_probe(struct pci_dev *pci_dev,
			    const struct pci_device_id *id);
void virtio_pci_legacy_remove(struct pci_dev *pci_dev);

#endif
+2 −22
Original line number Diff line number Diff line
@@ -19,14 +19,6 @@

#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 */
static u64 vp_get_features(struct virtio_device *vdev)
{
@@ -220,7 +212,7 @@ static const struct virtio_config_ops virtio_pci_config_ops = {
};

/* 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)
{
	struct virtio_pci_device *vp_dev;
@@ -300,7 +292,7 @@ static int virtio_pci_probe(struct pci_dev *pci_dev,
	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);

@@ -312,15 +304,3 @@ static void virtio_pci_remove(struct pci_dev *pci_dev)
	pci_disable_device(pci_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);