[media] media: blackfin: bfin_capture: set vb2 buffer field
authorLad, Prabhakar <prabhakar.csengg@gmail.com>
Sun, 8 Mar 2015 14:40:40 +0000 (11:40 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Thu, 2 Apr 2015 21:11:15 +0000 (18:11 -0300)
set the vb2 buffer field in buf_prepare() callback,
alongside drop local variable buf as we already have
a pointer to vb2 buffer.

Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Tested-by: Scott Jiang <scott.jiang.linux@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/platform/blackfin/bfin_capture.c

index 332f8c9..a588129 100644 (file)
@@ -305,16 +305,16 @@ static int bcap_queue_setup(struct vb2_queue *vq,
 static int bcap_buffer_prepare(struct vb2_buffer *vb)
 {
        struct bcap_device *bcap_dev = vb2_get_drv_priv(vb->vb2_queue);
-       struct bcap_buffer *buf = to_bcap_vb(vb);
-       unsigned long size;
+       unsigned long size = bcap_dev->fmt.sizeimage;
 
-       size = bcap_dev->fmt.sizeimage;
        if (vb2_plane_size(vb, 0) < size) {
                v4l2_err(&bcap_dev->v4l2_dev, "buffer too small (%lu < %lu)\n",
                                vb2_plane_size(vb, 0), size);
                return -EINVAL;
        }
-       vb2_set_plane_payload(&buf->vb, 0, size);
+       vb2_set_plane_payload(vb, 0, size);
+
+       vb->v4l2_buf.field = bcap_dev->fmt.field;
 
        return 0;
 }