1 #ifndef _LINUX_VIRTIO_RING_H 2 #define _LINUX_VIRTIO_RING_H 3 4 #include <linux/irqreturn.h> 5 #include <uapi/linux/virtio_ring.h> 6 7 struct virtio_device; 8 struct virtqueue; 9 10 struct virtqueue *vring_new_virtqueue(unsigned int index, 11 unsigned int num, 12 unsigned int vring_align, 13 struct virtio_device *vdev, 14 bool weak_barriers, 15 void *pages, 16 void (*notify)(struct virtqueue *vq), 17 void (*callback)(struct virtqueue *vq), 18 const char *name); 19 void vring_del_virtqueue(struct virtqueue *vq); 20 /* Filter out transport-specific feature bits. */ 21 void vring_transport_features(struct virtio_device *vdev); 22 23 irqreturn_t vring_interrupt(int irq, void *_vq); 24 #endif /* _LINUX_VIRTIO_RING_H */ 25