These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / media / platform / s5p-tv / mixer_video.c
index 751f3b6..dc1c679 100644 (file)
@@ -881,7 +881,7 @@ static const struct v4l2_file_operations mxr_fops = {
        .unlocked_ioctl = video_ioctl2,
 };
 
-static int queue_setup(struct vb2_queue *vq, const struct v4l2_format *pfmt,
+static int queue_setup(struct vb2_queue *vq, const void *parg,
        unsigned int *nbuffers, unsigned int *nplanes, unsigned int sizes[],
        void *alloc_ctxs[])
 {
@@ -914,7 +914,8 @@ static int queue_setup(struct vb2_queue *vq, const struct v4l2_format *pfmt,
 
 static void buf_queue(struct vb2_buffer *vb)
 {
-       struct mxr_buffer *buffer = container_of(vb, struct mxr_buffer, vb);
+       struct vb2_v4l2_buffer *vbuf = to_vb2_v4l2_buffer(vb);
+       struct mxr_buffer *buffer = container_of(vbuf, struct mxr_buffer, vb);
        struct mxr_layer *layer = vb2_get_drv_priv(vb->vb2_queue);
        struct mxr_device *mdev = layer->mdev;
        unsigned long flags;
@@ -963,11 +964,13 @@ static void mxr_watchdog(unsigned long arg)
        if (layer->update_buf == layer->shadow_buf)
                layer->update_buf = NULL;
        if (layer->update_buf) {
-               vb2_buffer_done(&layer->update_buf->vb, VB2_BUF_STATE_ERROR);
+               vb2_buffer_done(&layer->update_buf->vb.vb2_buf,
+                               VB2_BUF_STATE_ERROR);
                layer->update_buf = NULL;
        }
        if (layer->shadow_buf) {
-               vb2_buffer_done(&layer->shadow_buf->vb, VB2_BUF_STATE_ERROR);
+               vb2_buffer_done(&layer->shadow_buf->vb.vb2_buf,
+                               VB2_BUF_STATE_ERROR);
                layer->shadow_buf = NULL;
        }
        spin_unlock_irqrestore(&layer->enq_slock, flags);
@@ -991,7 +994,7 @@ static void stop_streaming(struct vb2_queue *vq)
        /* set all buffer to be done */
        list_for_each_entry_safe(buf, buf_tmp, &layer->enq_list, list) {
                list_del(&buf->list);
-               vb2_buffer_done(&buf->vb, VB2_BUF_STATE_ERROR);
+               vb2_buffer_done(&buf->vb.vb2_buf, VB2_BUF_STATE_ERROR);
        }
 
        spin_unlock_irqrestore(&layer->enq_slock, flags);