mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 20:54:10 +08:00
vfio: Remove device_data from the vfio bus driver API
There are no longer any users, so it can go away. Everything is using container_of now. Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Kevin Tian <kevin.tian@intel.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Reviewed-by: Max Gurtovoy <mgurtovoy@nvidia.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Message-Id: <14-v3-225de1400dfc+4e074-vfio1_jgg@nvidia.com> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
This commit is contained in:
parent
07d47b4222
commit
1e04ec1420
@ -254,8 +254,7 @@ vfio_unregister_group_dev() respectively::
|
||||
|
||||
void vfio_init_group_dev(struct vfio_device *device,
|
||||
struct device *dev,
|
||||
const struct vfio_device_ops *ops,
|
||||
void *device_data);
|
||||
const struct vfio_device_ops *ops);
|
||||
int vfio_register_group_dev(struct vfio_device *device);
|
||||
void vfio_unregister_group_dev(struct vfio_device *device);
|
||||
|
||||
|
@ -75,7 +75,8 @@ static int vfio_fsl_mc_reflck_attach(struct vfio_fsl_mc_device *vdev)
|
||||
goto unlock;
|
||||
}
|
||||
|
||||
cont_vdev = vfio_device_data(device);
|
||||
cont_vdev =
|
||||
container_of(device, struct vfio_fsl_mc_device, vdev);
|
||||
if (!cont_vdev || !cont_vdev->reflck) {
|
||||
vfio_device_put(device);
|
||||
ret = -ENODEV;
|
||||
@ -630,7 +631,7 @@ static int vfio_fsl_mc_probe(struct fsl_mc_device *mc_dev)
|
||||
goto out_group_put;
|
||||
}
|
||||
|
||||
vfio_init_group_dev(&vdev->vdev, dev, &vfio_fsl_mc_ops, vdev);
|
||||
vfio_init_group_dev(&vdev->vdev, dev, &vfio_fsl_mc_ops);
|
||||
vdev->mc_dev = mc_dev;
|
||||
mutex_init(&vdev->igate);
|
||||
|
||||
|
@ -134,7 +134,7 @@ static int vfio_mdev_probe(struct device *dev)
|
||||
if (!vdev)
|
||||
return -ENOMEM;
|
||||
|
||||
vfio_init_group_dev(vdev, &mdev->dev, &vfio_mdev_dev_ops, mdev);
|
||||
vfio_init_group_dev(vdev, &mdev->dev, &vfio_mdev_dev_ops);
|
||||
ret = vfio_register_group_dev(vdev);
|
||||
if (ret) {
|
||||
kfree(vdev);
|
||||
|
@ -2022,7 +2022,7 @@ static int vfio_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
||||
goto out_group_put;
|
||||
}
|
||||
|
||||
vfio_init_group_dev(&vdev->vdev, &pdev->dev, &vfio_pci_ops, vdev);
|
||||
vfio_init_group_dev(&vdev->vdev, &pdev->dev, &vfio_pci_ops);
|
||||
vdev->pdev = pdev;
|
||||
vdev->irq_type = VFIO_PCI_NUM_IRQS;
|
||||
mutex_init(&vdev->igate);
|
||||
|
@ -666,7 +666,7 @@ int vfio_platform_probe_common(struct vfio_platform_device *vdev,
|
||||
struct iommu_group *group;
|
||||
int ret;
|
||||
|
||||
vfio_init_group_dev(&vdev->vdev, dev, &vfio_platform_ops, vdev);
|
||||
vfio_init_group_dev(&vdev->vdev, dev, &vfio_platform_ops);
|
||||
|
||||
ret = vfio_platform_acpi_probe(vdev, dev);
|
||||
if (ret)
|
||||
|
@ -741,12 +741,11 @@ static int vfio_iommu_group_notifier(struct notifier_block *nb,
|
||||
* VFIO driver API
|
||||
*/
|
||||
void vfio_init_group_dev(struct vfio_device *device, struct device *dev,
|
||||
const struct vfio_device_ops *ops, void *device_data)
|
||||
const struct vfio_device_ops *ops)
|
||||
{
|
||||
init_completion(&device->comp);
|
||||
device->dev = dev;
|
||||
device->ops = ops;
|
||||
device->device_data = device_data;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(vfio_init_group_dev);
|
||||
|
||||
@ -851,15 +850,6 @@ static struct vfio_device *vfio_device_get_from_name(struct vfio_group *group,
|
||||
return device;
|
||||
}
|
||||
|
||||
/*
|
||||
* Caller must hold a reference to the vfio_device
|
||||
*/
|
||||
void *vfio_device_data(struct vfio_device *device)
|
||||
{
|
||||
return device->device_data;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(vfio_device_data);
|
||||
|
||||
/*
|
||||
* Decrement the device reference count and wait for the device to be
|
||||
* removed. Open file descriptors for the device... */
|
||||
|
@ -24,7 +24,6 @@ struct vfio_device {
|
||||
refcount_t refcount;
|
||||
struct completion comp;
|
||||
struct list_head group_next;
|
||||
void *device_data;
|
||||
};
|
||||
|
||||
/**
|
||||
@ -61,12 +60,11 @@ extern struct iommu_group *vfio_iommu_group_get(struct device *dev);
|
||||
extern void vfio_iommu_group_put(struct iommu_group *group, struct device *dev);
|
||||
|
||||
void vfio_init_group_dev(struct vfio_device *device, struct device *dev,
|
||||
const struct vfio_device_ops *ops, void *device_data);
|
||||
const struct vfio_device_ops *ops);
|
||||
int vfio_register_group_dev(struct vfio_device *device);
|
||||
void vfio_unregister_group_dev(struct vfio_device *device);
|
||||
extern struct vfio_device *vfio_device_get_from_dev(struct device *dev);
|
||||
extern void vfio_device_put(struct vfio_device *device);
|
||||
extern void *vfio_device_data(struct vfio_device *device);
|
||||
|
||||
/* events for the backend driver notify callback */
|
||||
enum vfio_iommu_notify_type {
|
||||
|
Loading…
Reference in New Issue
Block a user