Lines Matching refs:vfio_device
255 int vfio_register_group_dev(struct vfio_device *device);
256 int vfio_register_emulated_iommu_dev(struct vfio_device *device);
257 void vfio_unregister_group_dev(struct vfio_device *device);
259 The driver should embed the vfio_device in its own structure and use
262 vfio_device::
265 void vfio_put_device(struct vfio_device *device);
276 int (*init)(struct vfio_device *vdev);
277 void (*release)(struct vfio_device *vdev);
278 int (*bind_iommufd)(struct vfio_device *vdev,
280 void (*unbind_iommufd)(struct vfio_device *vdev);
281 int (*attach_ioas)(struct vfio_device *vdev, u32 *pt_id);
282 int (*open_device)(struct vfio_device *vdev);
283 void (*close_device)(struct vfio_device *vdev);
284 ssize_t (*read)(struct vfio_device *vdev, char __user *buf,
286 ssize_t (*write)(struct vfio_device *vdev, const char __user *buf,
288 long (*ioctl)(struct vfio_device *vdev, unsigned int cmd,
290 int (*mmap)(struct vfio_device *vdev, struct vm_area_struct *vma);
291 void (*request)(struct vfio_device *vdev, unsigned int count);
292 int (*match)(struct vfio_device *vdev, char *buf);
293 void (*dma_unmap)(struct vfio_device *vdev, u64 iova, u64 length);
294 int (*device_feature)(struct vfio_device *device, u32 flags,
305 - The init/release callbacks are issued when vfio_device is initialized