Lines Matching refs:vfio_device
386 int vfio_register_group_dev(struct vfio_device *device);
387 int vfio_register_emulated_iommu_dev(struct vfio_device *device);
388 void vfio_unregister_group_dev(struct vfio_device *device);
390 The driver should embed the vfio_device in its own structure and use
393 vfio_device::
396 void vfio_put_device(struct vfio_device *device);
407 int (*init)(struct vfio_device *vdev);
408 void (*release)(struct vfio_device *vdev);
409 int (*bind_iommufd)(struct vfio_device *vdev,
411 void (*unbind_iommufd)(struct vfio_device *vdev);
412 int (*attach_ioas)(struct vfio_device *vdev, u32 *pt_id);
413 void (*detach_ioas)(struct vfio_device *vdev);
414 int (*open_device)(struct vfio_device *vdev);
415 void (*close_device)(struct vfio_device *vdev);
416 ssize_t (*read)(struct vfio_device *vdev, char __user *buf,
418 ssize_t (*write)(struct vfio_device *vdev, const char __user *buf,
420 long (*ioctl)(struct vfio_device *vdev, unsigned int cmd,
422 int (*mmap)(struct vfio_device *vdev, struct vm_area_struct *vma);
423 void (*request)(struct vfio_device *vdev, unsigned int count);
424 int (*match)(struct vfio_device *vdev, char *buf);
425 void (*dma_unmap)(struct vfio_device *vdev, u64 iova, u64 length);
426 int (*device_feature)(struct vfio_device *device, u32 flags,
437 - The init/release callbacks are issued when vfio_device is initialized