aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/usb/uvc/uvc_queue.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/usb/uvc/uvc_queue.c')
-rw-r--r--drivers/media/usb/uvc/uvc_queue.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/media/usb/uvc/uvc_queue.c b/drivers/media/usb/uvc/uvc_queue.c
index 778addc5caff..6c233a54ce40 100644
--- a/drivers/media/usb/uvc/uvc_queue.c
+++ b/drivers/media/usb/uvc/uvc_queue.c
@@ -115,11 +115,27 @@ static int uvc_buffer_finish(struct vb2_buffer *vb)
115 return 0; 115 return 0;
116} 116}
117 117
118static void uvc_wait_prepare(struct vb2_queue *vq)
119{
120 struct uvc_video_queue *queue = vb2_get_drv_priv(vq);
121
122 mutex_unlock(&queue->mutex);
123}
124
125static void uvc_wait_finish(struct vb2_queue *vq)
126{
127 struct uvc_video_queue *queue = vb2_get_drv_priv(vq);
128
129 mutex_lock(&queue->mutex);
130}
131
118static struct vb2_ops uvc_queue_qops = { 132static struct vb2_ops uvc_queue_qops = {
119 .queue_setup = uvc_queue_setup, 133 .queue_setup = uvc_queue_setup,
120 .buf_prepare = uvc_buffer_prepare, 134 .buf_prepare = uvc_buffer_prepare,
121 .buf_queue = uvc_buffer_queue, 135 .buf_queue = uvc_buffer_queue,
122 .buf_finish = uvc_buffer_finish, 136 .buf_finish = uvc_buffer_finish,
137 .wait_prepare = uvc_wait_prepare,
138 .wait_finish = uvc_wait_finish,
123}; 139};
124 140
125int uvc_queue_init(struct uvc_video_queue *queue, enum v4l2_buf_type type, 141int uvc_queue_init(struct uvc_video_queue *queue, enum v4l2_buf_type type,