]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blobdiff - drivers/media/platform/exynos4-is/fimc-lite.c
[media] media: videobuf2: Restructure vb2_buffer
[mirror_ubuntu-focal-kernel.git] / drivers / media / platform / exynos4-is / fimc-lite.c
index f56c69a63c9be7fa54aabe499b2def55ba02f248..1920cfbd0369075f04437aa5afa24213151354a1 100644 (file)
@@ -200,7 +200,7 @@ static int fimc_lite_reinit(struct fimc_lite *fimc, bool suspend)
        /* Release unused buffers */
        while (!suspend && !list_empty(&fimc->pending_buf_q)) {
                buf = fimc_lite_pending_queue_pop(fimc);
-               vb2_buffer_done(&buf->vb, VB2_BUF_STATE_ERROR);
+               vb2_buffer_done(&buf->vb.vb2_buf, VB2_BUF_STATE_ERROR);
        }
        /* If suspending put unused buffers onto pending queue */
        while (!list_empty(&fimc->active_buf_q)) {
@@ -208,7 +208,7 @@ static int fimc_lite_reinit(struct fimc_lite *fimc, bool suspend)
                if (suspend)
                        fimc_lite_pending_queue_add(fimc, buf);
                else
-                       vb2_buffer_done(&buf->vb, VB2_BUF_STATE_ERROR);
+                       vb2_buffer_done(&buf->vb.vb2_buf, VB2_BUF_STATE_ERROR);
        }
 
        spin_unlock_irqrestore(&fimc->slock, flags);
@@ -292,10 +292,10 @@ static irqreturn_t flite_irq_handler(int irq, void *priv)
            test_bit(ST_FLITE_RUN, &fimc->state) &&
            !list_empty(&fimc->active_buf_q)) {
                vbuf = fimc_lite_active_queue_pop(fimc);
-               v4l2_get_timestamp(&vbuf->vb.v4l2_buf.timestamp);
-               vbuf->vb.v4l2_buf.sequence = fimc->frame_count++;
+               v4l2_get_timestamp(&vbuf->vb.timestamp);
+               vbuf->vb.sequence = fimc->frame_count++;
                flite_hw_mask_dma_buffer(fimc, vbuf->index);
-               vb2_buffer_done(&vbuf->vb, VB2_BUF_STATE_DONE);
+               vb2_buffer_done(&vbuf->vb.vb2_buf, VB2_BUF_STATE_DONE);
        }
 
        if (test_bit(ST_FLITE_CONFIG, &fimc->state))
@@ -417,8 +417,9 @@ static int buffer_prepare(struct vb2_buffer *vb)
 
 static void buffer_queue(struct vb2_buffer *vb)
 {
+       struct vb2_v4l2_buffer *vbuf = to_vb2_v4l2_buffer(vb);
        struct flite_buffer *buf
-               = container_of(vb, struct flite_buffer, vb);
+               = container_of(vbuf, struct flite_buffer, vb);
        struct fimc_lite *fimc = vb2_get_drv_priv(vb->vb2_queue);
        unsigned long flags;
 
@@ -1632,7 +1633,7 @@ static int fimc_lite_resume(struct device *dev)
                if (list_empty(&fimc->pending_buf_q))
                        break;
                buf = fimc_lite_pending_queue_pop(fimc);
-               buffer_queue(&buf->vb);
+               buffer_queue(&buf->vb.vb2_buf);
        }
        return 0;
 }