Lines Matching refs:poll
22 #include <linux/poll.h>
48 struct vhost_poll *poll;
50 poll = container_of(pt, struct vhost_poll, table);
51 poll->wqh = wqh;
52 add_wait_queue(wqh, &poll->wait);
58 struct vhost_poll *poll = container_of(wait, struct vhost_poll, wait);
60 if (!((unsigned long)key & poll->mask))
63 vhost_poll_queue(poll);
76 /* Init poll structure */
77 void vhost_poll_init(struct vhost_poll *poll, vhost_work_fn_t fn,
80 init_waitqueue_func_entry(&poll->wait, vhost_poll_wakeup);
81 init_poll_funcptr(&poll->table, vhost_poll_func);
82 poll->mask = mask;
83 poll->dev = dev;
85 vhost_work_init(&poll->work, fn);
90 void vhost_poll_start(struct vhost_poll *poll, struct file *file)
94 mask = file->f_op->poll(file, &poll->table);
96 vhost_poll_wakeup(&poll->wait, 0, 0, (void *)mask);
101 void vhost_poll_stop(struct vhost_poll *poll)
103 remove_wait_queue(poll->wqh, &poll->wait);
135 void vhost_poll_flush(struct vhost_poll *poll)
137 vhost_work_flush(poll->dev, &poll->work);
154 void vhost_poll_queue(struct vhost_poll *poll)
156 vhost_work_queue(poll->dev, &poll->work);
316 vhost_poll_init(&dev->vqs[i].poll,
446 vhost_poll_stop(&dev->vqs[i].poll);
447 vhost_poll_flush(&dev->vqs[i].poll);
812 vhost_poll_stop(&vq->poll);
820 vhost_poll_start(&vq->poll, vq->kick);
825 vhost_poll_flush(&vq->poll);