]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/media/platform/exynos4-is/fimc-isp-video.c
Merge remote-tracking branch 'v4l-dvb/master'
[karo-tx-linux.git] / drivers / media / platform / exynos4-is / fimc-isp-video.c
index 76b6b4d146169824593170c08f79a89a2b18c06f..6e6648446f00130217194a63a60f223d2c83360b 100644 (file)
@@ -28,7 +28,7 @@
 
 #include <media/v4l2-device.h>
 #include <media/v4l2-ioctl.h>
-#include <media/videobuf2-core.h>
+#include <media/videobuf2-v4l2.h>
 #include <media/videobuf2-dma-contig.h>
 #include <media/exynos-fimc.h>
 
 #include "fimc-is-param.h"
 
 static int isp_video_capture_queue_setup(struct vb2_queue *vq,
-                       const struct v4l2_format *pfmt,
+                       const void *parg,
                        unsigned int *num_buffers, unsigned int *num_planes,
                        unsigned int sizes[], void *allocators[])
 {
+       const struct v4l2_format *pfmt = parg;
        struct fimc_isp *isp = vb2_get_drv_priv(vq);
        struct v4l2_pix_format_mplane *vid_fmt = &isp->video_capture.pixfmt;
        const struct v4l2_pix_format_mplane *pixm = NULL;
@@ -194,10 +195,11 @@ static int isp_video_capture_buffer_prepare(struct vb2_buffer *vb)
 
 static void isp_video_capture_buffer_queue(struct vb2_buffer *vb)
 {
+       struct vb2_v4l2_buffer *vbuf = to_vb2_v4l2_buffer(vb);
        struct fimc_isp *isp = vb2_get_drv_priv(vb->vb2_queue);
        struct fimc_is_video *video = &isp->video_capture;
        struct fimc_is *is = fimc_isp_to_is(isp);
-       struct isp_video_buf *ivb = to_isp_video_buf(vb);
+       struct isp_video_buf *ivb = to_isp_video_buf(vbuf);
        unsigned long flags;
        unsigned int i;
 
@@ -220,7 +222,7 @@ static void isp_video_capture_buffer_queue(struct vb2_buffer *vb)
 
                        isp_dbg(2, &video->ve.vdev,
                                "dma_buf %pad (%d/%d/%d) addr: %pad\n",
-                               &buf_index, ivb->index, i, vb->v4l2_buf.index,
+                               &buf_index, ivb->index, i, vb->index,
                                &ivb->dma_addr[i]);
                }
 
@@ -242,7 +244,7 @@ static void isp_video_capture_buffer_queue(struct vb2_buffer *vb)
 void fimc_isp_video_irq_handler(struct fimc_is *is)
 {
        struct fimc_is_video *video = &is->isp.video_capture;
-       struct vb2_buffer *vb;
+       struct vb2_v4l2_buffer *vbuf;
        int buf_index;
 
        /* TODO: Ensure the DMA is really stopped in stop_streaming callback */
@@ -250,10 +252,10 @@ void fimc_isp_video_irq_handler(struct fimc_is *is)
                return;
 
        buf_index = (is->i2h_cmd.args[1] - 1) % video->buf_count;
-       vb = &video->buffers[buf_index]->vb;
+       vbuf = &video->buffers[buf_index]->vb;
 
-       v4l2_get_timestamp(&vb->v4l2_buf.timestamp);
-       vb2_buffer_done(vb, VB2_BUF_STATE_DONE);
+       v4l2_get_timestamp(&vbuf->timestamp);
+       vb2_buffer_done(&vbuf->vb2_buf, VB2_BUF_STATE_DONE);
 
        video->buf_mask &= ~BIT(buf_index);
        fimc_is_hw_set_isp_buf_mask(is, video->buf_mask);