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,
 };
 
 /**
 
        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,