[media] s5p-fimc: Add support for VIDIOC_PREPARE_BUF/CREATE_BUFS ioctls
authorSylwester Nawrocki <s.nawrocki@samsung.com>
Mon, 30 Jan 2012 17:56:59 +0000 (14:56 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Thu, 8 Mar 2012 10:41:01 +0000 (07:41 -0300)
Add VIDIOC_PREPARE_BUF and VIDIOC_CREATE_BUFS ioctl handlers to enable
support for multi-size buffer queue.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/s5p-fimc/fimc-capture.c

index a9e9653beeb4581a90ea34eed1b3d96eab2aae5d..b2fc0b55bc11791ab54d16a62ae072a531a7098e 100644 (file)
@@ -1019,6 +1019,22 @@ static int fimc_cap_dqbuf(struct file *file, void *priv,
        return vb2_dqbuf(&fimc->vid_cap.vbq, buf, file->f_flags & O_NONBLOCK);
 }
 
+static int fimc_cap_create_bufs(struct file *file, void *priv,
+                               struct v4l2_create_buffers *create)
+{
+       struct fimc_dev *fimc = video_drvdata(file);
+
+       return vb2_create_bufs(&fimc->vid_cap.vbq, create);
+}
+
+static int fimc_cap_prepare_buf(struct file *file, void *priv,
+                               struct v4l2_buffer *b)
+{
+       struct fimc_dev *fimc = video_drvdata(file);
+
+       return vb2_prepare_buf(&fimc->vid_cap.vbq, b);
+}
+
 static int fimc_cap_cropcap(struct file *file, void *fh,
                            struct v4l2_cropcap *cr)
 {
@@ -1082,6 +1098,9 @@ static const struct v4l2_ioctl_ops fimc_capture_ioctl_ops = {
        .vidioc_qbuf                    = fimc_cap_qbuf,
        .vidioc_dqbuf                   = fimc_cap_dqbuf,
 
+       .vidioc_prepare_buf             = fimc_cap_prepare_buf,
+       .vidioc_create_bufs             = fimc_cap_create_bufs,
+
        .vidioc_streamon                = fimc_cap_streamon,
        .vidioc_streamoff               = fimc_cap_streamoff,