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;
|
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 {
|
||||||
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,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче