Commit 67462037 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Alex Williamson

vfio: remove unused method from vfio_iommu_driver_ops

The read, write and mmap methods are never implemented, so remove them.
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarJason Gunthorpe <jgg@nvidia.com>
Reviewed-by: default avatarKevin Tian <kevin.tian@intel.com>
Link: https://lore.kernel.org/r/20210924155705.4258-9-hch@lst.deSigned-off-by: default avatarAlex Williamson <alex.williamson@redhat.com>
parent c68ea0d0
...@@ -1276,62 +1276,12 @@ static int vfio_fops_release(struct inode *inode, struct file *filep) ...@@ -1276,62 +1276,12 @@ static int vfio_fops_release(struct inode *inode, struct file *filep)
return 0; return 0;
} }
/*
* Once an iommu driver is set, we optionally pass read/write/mmap
* on to the driver, allowing management interfaces beyond ioctl.
*/
static ssize_t vfio_fops_read(struct file *filep, char __user *buf,
size_t count, loff_t *ppos)
{
struct vfio_container *container = filep->private_data;
struct vfio_iommu_driver *driver;
ssize_t ret = -EINVAL;
driver = container->iommu_driver;
if (likely(driver && driver->ops->read))
ret = driver->ops->read(container->iommu_data,
buf, count, ppos);
return ret;
}
static ssize_t vfio_fops_write(struct file *filep, const char __user *buf,
size_t count, loff_t *ppos)
{
struct vfio_container *container = filep->private_data;
struct vfio_iommu_driver *driver;
ssize_t ret = -EINVAL;
driver = container->iommu_driver;
if (likely(driver && driver->ops->write))
ret = driver->ops->write(container->iommu_data,
buf, count, ppos);
return ret;
}
static int vfio_fops_mmap(struct file *filep, struct vm_area_struct *vma)
{
struct vfio_container *container = filep->private_data;
struct vfio_iommu_driver *driver;
int ret = -EINVAL;
driver = container->iommu_driver;
if (likely(driver && driver->ops->mmap))
ret = driver->ops->mmap(container->iommu_data, vma);
return ret;
}
static const struct file_operations vfio_fops = { static const struct file_operations vfio_fops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.open = vfio_fops_open, .open = vfio_fops_open,
.release = vfio_fops_release, .release = vfio_fops_release,
.read = vfio_fops_read,
.write = vfio_fops_write,
.unlocked_ioctl = vfio_fops_unl_ioctl, .unlocked_ioctl = vfio_fops_unl_ioctl,
.compat_ioctl = compat_ptr_ioctl, .compat_ioctl = compat_ptr_ioctl,
.mmap = vfio_fops_mmap,
}; };
/** /**
......
...@@ -95,13 +95,8 @@ struct vfio_iommu_driver_ops { ...@@ -95,13 +95,8 @@ struct vfio_iommu_driver_ops {
struct module *owner; struct module *owner;
void *(*open)(unsigned long arg); void *(*open)(unsigned long arg);
void (*release)(void *iommu_data); void (*release)(void *iommu_data);
ssize_t (*read)(void *iommu_data, char __user *buf,
size_t count, loff_t *ppos);
ssize_t (*write)(void *iommu_data, const char __user *buf,
size_t count, loff_t *size);
long (*ioctl)(void *iommu_data, unsigned int cmd, long (*ioctl)(void *iommu_data, unsigned int cmd,
unsigned long arg); unsigned long arg);
int (*mmap)(void *iommu_data, struct vm_area_struct *vma);
int (*attach_group)(void *iommu_data, int (*attach_group)(void *iommu_data,
struct iommu_group *group); struct iommu_group *group);
void (*detach_group)(void *iommu_data, void (*detach_group)(void *iommu_data,
......
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