vfio: remove unused method from vfio_iommu_driver_ops
The read, write and mmap methods are never implemented, so remove them. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Reviewed-by: Kevin Tian <kevin.tian@intel.com> Link: https://lore.kernel.org/r/20210924155705.4258-9-hch@lst.de Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
This commit is contained in:
Родитель
c68ea0d00a
Коммит
6746203787
|
@ -1276,62 +1276,12 @@ static int vfio_fops_release(struct inode *inode, struct file *filep)
|
|||
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 = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = vfio_fops_open,
|
||||
.release = vfio_fops_release,
|
||||
.read = vfio_fops_read,
|
||||
.write = vfio_fops_write,
|
||||
.unlocked_ioctl = vfio_fops_unl_ioctl,
|
||||
.compat_ioctl = compat_ptr_ioctl,
|
||||
.mmap = vfio_fops_mmap,
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -95,13 +95,8 @@ struct vfio_iommu_driver_ops {
|
|||
struct module *owner;
|
||||
void *(*open)(unsigned long arg);
|
||||
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,
|
||||
unsigned long arg);
|
||||
int (*mmap)(void *iommu_data, struct vm_area_struct *vma);
|
||||
int (*attach_group)(void *iommu_data,
|
||||
struct iommu_group *group);
|
||||
void (*detach_group)(void *iommu_data,
|
||||
|
|
Загрузка…
Ссылка в новой задаче