aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/gadget/uvc_queue.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/gadget/uvc_queue.c')
-rw-r--r--drivers/usb/gadget/uvc_queue.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/usb/gadget/uvc_queue.c b/drivers/usb/gadget/uvc_queue.c
index 7ce27e35550b..e6170478ea9f 100644
--- a/drivers/usb/gadget/uvc_queue.c
+++ b/drivers/usb/gadget/uvc_queue.c
@@ -103,10 +103,26 @@ static void uvc_buffer_queue(struct vb2_buffer *vb)
103 spin_unlock_irqrestore(&queue->irqlock, flags); 103 spin_unlock_irqrestore(&queue->irqlock, flags);
104} 104}
105 105
106static void uvc_wait_prepare(struct vb2_queue *vq)
107{
108 struct uvc_video_queue *queue = vb2_get_drv_priv(vq);
109
110 mutex_unlock(&queue->mutex);
111}
112
113static void uvc_wait_finish(struct vb2_queue *vq)
114{
115 struct uvc_video_queue *queue = vb2_get_drv_priv(vq);
116
117 mutex_lock(&queue->mutex);
118}
119
106static struct vb2_ops uvc_queue_qops = { 120static struct vb2_ops uvc_queue_qops = {
107 .queue_setup = uvc_queue_setup, 121 .queue_setup = uvc_queue_setup,
108 .buf_prepare = uvc_buffer_prepare, 122 .buf_prepare = uvc_buffer_prepare,
109 .buf_queue = uvc_buffer_queue, 123 .buf_queue = uvc_buffer_queue,
124 .wait_prepare = uvc_wait_prepare,
125 .wait_finish = uvc_wait_finish,
110}; 126};
111 127
112static int uvc_queue_init(struct uvc_video_queue *queue, 128static int uvc_queue_init(struct uvc_video_queue *queue,