0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd7
 };
 
-void vivid_lock(struct vb2_queue *vq)
-{
-       struct vivid_dev *dev = vb2_get_drv_priv(vq);
-
-       mutex_lock(&dev->mutex);
-}
-
-void vivid_unlock(struct vb2_queue *vq)
-{
-       struct vivid_dev *dev = vb2_get_drv_priv(vq);
-
-       mutex_unlock(&dev->mutex);
-}
-
 static int vidioc_querycap(struct file *file, void  *priv,
                                        struct v4l2_capability *cap)
 {
                q->mem_ops = &vb2_vmalloc_memops;
                q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
                q->min_buffers_needed = 2;
+               q->lock = &dev->mutex;
 
                ret = vb2_queue_init(q);
                if (ret)
                q->mem_ops = &vb2_vmalloc_memops;
                q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
                q->min_buffers_needed = 2;
+               q->lock = &dev->mutex;
 
                ret = vb2_queue_init(q);
                if (ret)
                q->mem_ops = &vb2_vmalloc_memops;
                q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
                q->min_buffers_needed = 2;
+               q->lock = &dev->mutex;
 
                ret = vb2_queue_init(q);
                if (ret)
                q->mem_ops = &vb2_vmalloc_memops;
                q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
                q->min_buffers_needed = 2;
+               q->lock = &dev->mutex;
 
                ret = vb2_queue_init(q);
                if (ret)
                q->mem_ops = &vb2_vmalloc_memops;
                q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
                q->min_buffers_needed = 8;
+               q->lock = &dev->mutex;
 
                ret = vb2_queue_init(q);
                if (ret)
 
        return dev->output_type[dev->output] == HDMI;
 }
 
-void vivid_lock(struct vb2_queue *vq);
-void vivid_unlock(struct vb2_queue *vq);
-
 #endif
 
        .buf_queue              = sdr_cap_buf_queue,
        .start_streaming        = sdr_cap_start_streaming,
        .stop_streaming         = sdr_cap_stop_streaming,
-       .wait_prepare           = vivid_unlock,
-       .wait_finish            = vivid_lock,
+       .wait_prepare           = vb2_ops_wait_prepare,
+       .wait_finish            = vb2_ops_wait_finish,
 };
 
 int vivid_sdr_enum_freq_bands(struct file *file, void *fh, struct v4l2_frequency_band *band)
 
        .buf_queue              = vbi_cap_buf_queue,
        .start_streaming        = vbi_cap_start_streaming,
        .stop_streaming         = vbi_cap_stop_streaming,
-       .wait_prepare           = vivid_unlock,
-       .wait_finish            = vivid_lock,
+       .wait_prepare           = vb2_ops_wait_prepare,
+       .wait_finish            = vb2_ops_wait_finish,
 };
 
 int vidioc_g_fmt_vbi_cap(struct file *file, void *priv,
 
        .buf_queue              = vbi_out_buf_queue,
        .start_streaming        = vbi_out_start_streaming,
        .stop_streaming         = vbi_out_stop_streaming,
-       .wait_prepare           = vivid_unlock,
-       .wait_finish            = vivid_lock,
+       .wait_prepare           = vb2_ops_wait_prepare,
+       .wait_finish            = vb2_ops_wait_finish,
 };
 
 int vidioc_g_fmt_vbi_out(struct file *file, void *priv,
 
        .buf_queue              = vid_cap_buf_queue,
        .start_streaming        = vid_cap_start_streaming,
        .stop_streaming         = vid_cap_stop_streaming,
-       .wait_prepare           = vivid_unlock,
-       .wait_finish            = vivid_lock,
+       .wait_prepare           = vb2_ops_wait_prepare,
+       .wait_finish            = vb2_ops_wait_finish,
 };
 
 /*
 
        .buf_queue              = vid_out_buf_queue,
        .start_streaming        = vid_out_start_streaming,
        .stop_streaming         = vid_out_stop_streaming,
-       .wait_prepare           = vivid_unlock,
-       .wait_finish            = vivid_lock,
+       .wait_prepare           = vb2_ops_wait_prepare,
+       .wait_finish            = vb2_ops_wait_finish,
 };
 
 /*