aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/video4linux/v4l2-pci-skeleton.c4
-rw-r--r--drivers/input/touchscreen/sur40.c3
-rw-r--r--drivers/media/dvb-frontends/rtl2832_sdr.c2
-rw-r--r--drivers/media/pci/cobalt/cobalt-v4l2.c4
-rw-r--r--drivers/media/pci/cx23885/cx23885-417.c2
-rw-r--r--drivers/media/pci/cx23885/cx23885-dvb.c2
-rw-r--r--drivers/media/pci/cx23885/cx23885-vbi.c2
-rw-r--r--drivers/media/pci/cx23885/cx23885-video.c2
-rw-r--r--drivers/media/pci/cx25821/cx25821-video.c3
-rw-r--r--drivers/media/pci/cx88/cx88-blackbird.c2
-rw-r--r--drivers/media/pci/cx88/cx88-dvb.c2
-rw-r--r--drivers/media/pci/cx88/cx88-vbi.c2
-rw-r--r--drivers/media/pci/cx88/cx88-video.c2
-rw-r--r--drivers/media/pci/dt3155/dt3155.c3
-rw-r--r--drivers/media/pci/netup_unidvb/netup_unidvb_core.c2
-rw-r--r--drivers/media/pci/saa7134/saa7134-ts.c2
-rw-r--r--drivers/media/pci/saa7134/saa7134-vbi.c2
-rw-r--r--drivers/media/pci/saa7134/saa7134-video.c2
-rw-r--r--drivers/media/pci/saa7134/saa7134.h2
-rw-r--r--drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c2
-rw-r--r--drivers/media/pci/solo6x10/solo6x10-v4l2.c2
-rw-r--r--drivers/media/pci/sta2x11/sta2x11_vip.c2
-rw-r--r--drivers/media/pci/tw68/tw68-video.c3
-rw-r--r--drivers/media/platform/am437x/am437x-vpfe.c3
-rw-r--r--drivers/media/platform/blackfin/bfin_capture.c3
-rw-r--r--drivers/media/platform/coda/coda-common.c3
-rw-r--r--drivers/media/platform/davinci/vpbe_display.c3
-rw-r--r--drivers/media/platform/davinci/vpif_capture.c3
-rw-r--r--drivers/media/platform/davinci/vpif_display.c3
-rw-r--r--drivers/media/platform/exynos-gsc/gsc-m2m.c2
-rw-r--r--drivers/media/platform/exynos4-is/fimc-capture.c3
-rw-r--r--drivers/media/platform/exynos4-is/fimc-isp-video.c3
-rw-r--r--drivers/media/platform/exynos4-is/fimc-lite.c3
-rw-r--r--drivers/media/platform/exynos4-is/fimc-m2m.c2
-rw-r--r--drivers/media/platform/m2m-deinterlace.c2
-rw-r--r--drivers/media/platform/marvell-ccic/mcam-core.c3
-rw-r--r--drivers/media/platform/mx2_emmaprp.c2
-rw-r--r--drivers/media/platform/omap3isp/ispvideo.c2
-rw-r--r--drivers/media/platform/rcar_jpu.c3
-rw-r--r--drivers/media/platform/s3c-camif/camif-capture.c3
-rw-r--r--drivers/media/platform/s5p-g2d/g2d.c2
-rw-r--r--drivers/media/platform/s5p-jpeg/jpeg-core.c2
-rw-r--r--drivers/media/platform/s5p-mfc/s5p_mfc_dec.c2
-rw-r--r--drivers/media/platform/s5p-mfc/s5p_mfc_enc.c2
-rw-r--r--drivers/media/platform/s5p-tv/mixer_video.c2
-rw-r--r--drivers/media/platform/sh_veu.c3
-rw-r--r--drivers/media/platform/sh_vou.c3
-rw-r--r--drivers/media/platform/soc_camera/atmel-isi.c2
-rw-r--r--drivers/media/platform/soc_camera/mx2_camera.c3
-rw-r--r--drivers/media/platform/soc_camera/mx3_camera.c3
-rw-r--r--drivers/media/platform/soc_camera/rcar_vin.c3
-rw-r--r--drivers/media/platform/soc_camera/sh_mobile_ceu_camera.c6
-rw-r--r--drivers/media/platform/sti/bdisp/bdisp-v4l2.c3
-rw-r--r--drivers/media/platform/ti-vpe/vpe.c2
-rw-r--r--drivers/media/platform/vim2m.c3
-rw-r--r--drivers/media/platform/vivid/vivid-sdr-cap.c2
-rw-r--r--drivers/media/platform/vivid/vivid-vbi-cap.c7
-rw-r--r--drivers/media/platform/vivid/vivid-vbi-out.c2
-rw-r--r--drivers/media/platform/vivid/vivid-vid-cap.c3
-rw-r--r--drivers/media/platform/vivid/vivid-vid-out.c3
-rw-r--r--drivers/media/platform/vsp1/vsp1_video.c3
-rw-r--r--drivers/media/platform/xilinx/xilinx-dma.c3
-rw-r--r--drivers/media/usb/airspy/airspy.c2
-rw-r--r--drivers/media/usb/au0828/au0828-vbi.c3
-rw-r--r--drivers/media/usb/au0828/au0828-video.c3
-rw-r--r--drivers/media/usb/em28xx/em28xx-vbi.c3
-rw-r--r--drivers/media/usb/em28xx/em28xx-video.c3
-rw-r--r--drivers/media/usb/go7007/go7007-v4l2.c2
-rw-r--r--drivers/media/usb/hackrf/hackrf.c2
-rw-r--r--drivers/media/usb/msi2500/msi2500.c2
-rw-r--r--drivers/media/usb/pwc/pwc-if.c2
-rw-r--r--drivers/media/usb/s2255/s2255drv.c2
-rw-r--r--drivers/media/usb/stk1160/stk1160-v4l.c2
-rw-r--r--drivers/media/usb/usbtv/usbtv-video.c3
-rw-r--r--drivers/media/usb/uvc/uvc_queue.c3
-rw-r--r--drivers/staging/media/davinci_vpfe/vpfe_video.c2
-rw-r--r--drivers/staging/media/omap4iss/iss_video.c2
-rw-r--r--drivers/usb/gadget/function/uvc_queue.c2
-rw-r--r--include/media/videobuf2-core.h2
79 files changed, 119 insertions, 85 deletions
diff --git a/Documentation/video4linux/v4l2-pci-skeleton.c b/Documentation/video4linux/v4l2-pci-skeleton.c
index 9c80c090e92d..95ae82860092 100644
--- a/Documentation/video4linux/v4l2-pci-skeleton.c
+++ b/Documentation/video4linux/v4l2-pci-skeleton.c
@@ -37,6 +37,7 @@
37#include <media/v4l2-dv-timings.h> 37#include <media/v4l2-dv-timings.h>
38#include <media/v4l2-ctrls.h> 38#include <media/v4l2-ctrls.h>
39#include <media/v4l2-event.h> 39#include <media/v4l2-event.h>
40#include <media/videobuf2-v4l2.h>
40#include <media/videobuf2-dma-contig.h> 41#include <media/videobuf2-dma-contig.h>
41 42
42MODULE_DESCRIPTION("V4L2 PCI Skeleton Driver"); 43MODULE_DESCRIPTION("V4L2 PCI Skeleton Driver");
@@ -162,10 +163,11 @@ static irqreturn_t skeleton_irq(int irq, void *dev_id)
162 * minimum number: many DMA engines need a minimum of 2 buffers in the 163 * minimum number: many DMA engines need a minimum of 2 buffers in the
163 * queue and you need to have another available for userspace processing. 164 * queue and you need to have another available for userspace processing.
164 */ 165 */
165static int queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, 166static int queue_setup(struct vb2_queue *vq, const void *parg,
166 unsigned int *nbuffers, unsigned int *nplanes, 167 unsigned int *nbuffers, unsigned int *nplanes,
167 unsigned int sizes[], void *alloc_ctxs[]) 168 unsigned int sizes[], void *alloc_ctxs[])
168{ 169{
170 const struct v4l2_format *fmt = parg;
169 struct skeleton *skel = vb2_get_drv_priv(vq); 171 struct skeleton *skel = vb2_get_drv_priv(vq);
170 172
171 skel->field = skel->format.field; 173 skel->field = skel->format.field;
diff --git a/drivers/input/touchscreen/sur40.c b/drivers/input/touchscreen/sur40.c
index 98d094587e85..d214f22ed305 100644
--- a/drivers/input/touchscreen/sur40.c
+++ b/drivers/input/touchscreen/sur40.c
@@ -644,10 +644,11 @@ static void sur40_disconnect(struct usb_interface *interface)
644 * minimum number: many DMA engines need a minimum of 2 buffers in the 644 * minimum number: many DMA engines need a minimum of 2 buffers in the
645 * queue and you need to have another available for userspace processing. 645 * queue and you need to have another available for userspace processing.
646 */ 646 */
647static int sur40_queue_setup(struct vb2_queue *q, const struct v4l2_format *fmt, 647static int sur40_queue_setup(struct vb2_queue *q, const void *parg,
648 unsigned int *nbuffers, unsigned int *nplanes, 648 unsigned int *nbuffers, unsigned int *nplanes,
649 unsigned int sizes[], void *alloc_ctxs[]) 649 unsigned int sizes[], void *alloc_ctxs[])
650{ 650{
651 const struct v4l2_format *fmt = parg;
651 struct sur40_state *sur40 = vb2_get_drv_priv(q); 652 struct sur40_state *sur40 = vb2_get_drv_priv(q);
652 653
653 if (q->num_buffers + *nbuffers < 3) 654 if (q->num_buffers + *nbuffers < 3)
diff --git a/drivers/media/dvb-frontends/rtl2832_sdr.c b/drivers/media/dvb-frontends/rtl2832_sdr.c
index bf306a230eb0..dcd8d94c1037 100644
--- a/drivers/media/dvb-frontends/rtl2832_sdr.c
+++ b/drivers/media/dvb-frontends/rtl2832_sdr.c
@@ -490,7 +490,7 @@ static int rtl2832_sdr_querycap(struct file *file, void *fh,
490 490
491/* Videobuf2 operations */ 491/* Videobuf2 operations */
492static int rtl2832_sdr_queue_setup(struct vb2_queue *vq, 492static int rtl2832_sdr_queue_setup(struct vb2_queue *vq,
493 const struct v4l2_format *fmt, unsigned int *nbuffers, 493 const void *parg, unsigned int *nbuffers,
494 unsigned int *nplanes, unsigned int sizes[], void *alloc_ctxs[]) 494 unsigned int *nplanes, unsigned int sizes[], void *alloc_ctxs[])
495{ 495{
496 struct rtl2832_sdr_dev *dev = vb2_get_drv_priv(vq); 496 struct rtl2832_sdr_dev *dev = vb2_get_drv_priv(vq);
diff --git a/drivers/media/pci/cobalt/cobalt-v4l2.c b/drivers/media/pci/cobalt/cobalt-v4l2.c
index 7d331a4c33a2..ff46e424262f 100644
--- a/drivers/media/pci/cobalt/cobalt-v4l2.c
+++ b/drivers/media/pci/cobalt/cobalt-v4l2.c
@@ -43,11 +43,11 @@ static const struct v4l2_dv_timings cea1080p60 = V4L2_DV_BT_CEA_1920X1080P60;
43 43
44/* vb2 DMA streaming ops */ 44/* vb2 DMA streaming ops */
45 45
46static int cobalt_queue_setup(struct vb2_queue *q, 46static int cobalt_queue_setup(struct vb2_queue *q, const void *parg,
47 const struct v4l2_format *fmt,
48 unsigned int *num_buffers, unsigned int *num_planes, 47 unsigned int *num_buffers, unsigned int *num_planes,
49 unsigned int sizes[], void *alloc_ctxs[]) 48 unsigned int sizes[], void *alloc_ctxs[])
50{ 49{
50 const struct v4l2_format *fmt = parg;
51 struct cobalt_stream *s = q->drv_priv; 51 struct cobalt_stream *s = q->drv_priv;
52 unsigned size = s->stride * s->height; 52 unsigned size = s->stride * s->height;
53 53
diff --git a/drivers/media/pci/cx23885/cx23885-417.c b/drivers/media/pci/cx23885/cx23885-417.c
index 316a32213eff..88a3afb66d10 100644
--- a/drivers/media/pci/cx23885/cx23885-417.c
+++ b/drivers/media/pci/cx23885/cx23885-417.c
@@ -1138,7 +1138,7 @@ static int cx23885_initialize_codec(struct cx23885_dev *dev, int startencoder)
1138 1138
1139/* ------------------------------------------------------------------ */ 1139/* ------------------------------------------------------------------ */
1140 1140
1141static int queue_setup(struct vb2_queue *q, const struct v4l2_format *fmt, 1141static int queue_setup(struct vb2_queue *q, const void *parg,
1142 unsigned int *num_buffers, unsigned int *num_planes, 1142 unsigned int *num_buffers, unsigned int *num_planes,
1143 unsigned int sizes[], void *alloc_ctxs[]) 1143 unsigned int sizes[], void *alloc_ctxs[])
1144{ 1144{
diff --git a/drivers/media/pci/cx23885/cx23885-dvb.c b/drivers/media/pci/cx23885/cx23885-dvb.c
index 09ad51280295..c4307ad8594c 100644
--- a/drivers/media/pci/cx23885/cx23885-dvb.c
+++ b/drivers/media/pci/cx23885/cx23885-dvb.c
@@ -92,7 +92,7 @@ DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
92 92
93/* ------------------------------------------------------------------ */ 93/* ------------------------------------------------------------------ */
94 94
95static int queue_setup(struct vb2_queue *q, const struct v4l2_format *fmt, 95static int queue_setup(struct vb2_queue *q, const void *parg,
96 unsigned int *num_buffers, unsigned int *num_planes, 96 unsigned int *num_buffers, unsigned int *num_planes,
97 unsigned int sizes[], void *alloc_ctxs[]) 97 unsigned int sizes[], void *alloc_ctxs[])
98{ 98{
diff --git a/drivers/media/pci/cx23885/cx23885-vbi.c b/drivers/media/pci/cx23885/cx23885-vbi.c
index 6c9bb0316aba..cf3cb1324c55 100644
--- a/drivers/media/pci/cx23885/cx23885-vbi.c
+++ b/drivers/media/pci/cx23885/cx23885-vbi.c
@@ -121,7 +121,7 @@ static int cx23885_start_vbi_dma(struct cx23885_dev *dev,
121 121
122/* ------------------------------------------------------------------ */ 122/* ------------------------------------------------------------------ */
123 123
124static int queue_setup(struct vb2_queue *q, const struct v4l2_format *fmt, 124static int queue_setup(struct vb2_queue *q, const void *parg,
125 unsigned int *num_buffers, unsigned int *num_planes, 125 unsigned int *num_buffers, unsigned int *num_planes,
126 unsigned int sizes[], void *alloc_ctxs[]) 126 unsigned int sizes[], void *alloc_ctxs[])
127{ 127{
diff --git a/drivers/media/pci/cx23885/cx23885-video.c b/drivers/media/pci/cx23885/cx23885-video.c
index b6a193df618a..71a80e2b842c 100644
--- a/drivers/media/pci/cx23885/cx23885-video.c
+++ b/drivers/media/pci/cx23885/cx23885-video.c
@@ -315,7 +315,7 @@ static int cx23885_start_video_dma(struct cx23885_dev *dev,
315 return 0; 315 return 0;
316} 316}
317 317
318static int queue_setup(struct vb2_queue *q, const struct v4l2_format *fmt, 318static int queue_setup(struct vb2_queue *q, const void *parg,
319 unsigned int *num_buffers, unsigned int *num_planes, 319 unsigned int *num_buffers, unsigned int *num_planes,
320 unsigned int sizes[], void *alloc_ctxs[]) 320 unsigned int sizes[], void *alloc_ctxs[])
321{ 321{
diff --git a/drivers/media/pci/cx25821/cx25821-video.c b/drivers/media/pci/cx25821/cx25821-video.c
index f1deb8fd271c..26e3e296d615 100644
--- a/drivers/media/pci/cx25821/cx25821-video.c
+++ b/drivers/media/pci/cx25821/cx25821-video.c
@@ -141,10 +141,11 @@ int cx25821_video_irq(struct cx25821_dev *dev, int chan_num, u32 status)
141 return handled; 141 return handled;
142} 142}
143 143
144static int cx25821_queue_setup(struct vb2_queue *q, const struct v4l2_format *fmt, 144static int cx25821_queue_setup(struct vb2_queue *q, const void *parg,
145 unsigned int *num_buffers, unsigned int *num_planes, 145 unsigned int *num_buffers, unsigned int *num_planes,
146 unsigned int sizes[], void *alloc_ctxs[]) 146 unsigned int sizes[], void *alloc_ctxs[])
147{ 147{
148 const struct v4l2_format *fmt = parg;
148 struct cx25821_channel *chan = q->drv_priv; 149 struct cx25821_channel *chan = q->drv_priv;
149 unsigned size = (chan->fmt->depth * chan->width * chan->height) >> 3; 150 unsigned size = (chan->fmt->depth * chan->width * chan->height) >> 3;
150 151
diff --git a/drivers/media/pci/cx88/cx88-blackbird.c b/drivers/media/pci/cx88/cx88-blackbird.c
index 49d0b7c5271b..8b889135be8a 100644
--- a/drivers/media/pci/cx88/cx88-blackbird.c
+++ b/drivers/media/pci/cx88/cx88-blackbird.c
@@ -637,7 +637,7 @@ static int blackbird_stop_codec(struct cx8802_dev *dev)
637 637
638/* ------------------------------------------------------------------ */ 638/* ------------------------------------------------------------------ */
639 639
640static int queue_setup(struct vb2_queue *q, const struct v4l2_format *fmt, 640static int queue_setup(struct vb2_queue *q, const void *parg,
641 unsigned int *num_buffers, unsigned int *num_planes, 641 unsigned int *num_buffers, unsigned int *num_planes,
642 unsigned int sizes[], void *alloc_ctxs[]) 642 unsigned int sizes[], void *alloc_ctxs[])
643{ 643{
diff --git a/drivers/media/pci/cx88/cx88-dvb.c b/drivers/media/pci/cx88/cx88-dvb.c
index f0923fb5a35d..f04835073844 100644
--- a/drivers/media/pci/cx88/cx88-dvb.c
+++ b/drivers/media/pci/cx88/cx88-dvb.c
@@ -82,7 +82,7 @@ DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
82 82
83/* ------------------------------------------------------------------ */ 83/* ------------------------------------------------------------------ */
84 84
85static int queue_setup(struct vb2_queue *q, const struct v4l2_format *fmt, 85static int queue_setup(struct vb2_queue *q, const void *parg,
86 unsigned int *num_buffers, unsigned int *num_planes, 86 unsigned int *num_buffers, unsigned int *num_planes,
87 unsigned int sizes[], void *alloc_ctxs[]) 87 unsigned int sizes[], void *alloc_ctxs[])
88{ 88{
diff --git a/drivers/media/pci/cx88/cx88-vbi.c b/drivers/media/pci/cx88/cx88-vbi.c
index 1d65543003b4..007a5eee8e5e 100644
--- a/drivers/media/pci/cx88/cx88-vbi.c
+++ b/drivers/media/pci/cx88/cx88-vbi.c
@@ -107,7 +107,7 @@ int cx8800_restart_vbi_queue(struct cx8800_dev *dev,
107 107
108/* ------------------------------------------------------------------ */ 108/* ------------------------------------------------------------------ */
109 109
110static int queue_setup(struct vb2_queue *q, const struct v4l2_format *fmt, 110static int queue_setup(struct vb2_queue *q, const void *parg,
111 unsigned int *num_buffers, unsigned int *num_planes, 111 unsigned int *num_buffers, unsigned int *num_planes,
112 unsigned int sizes[], void *alloc_ctxs[]) 112 unsigned int sizes[], void *alloc_ctxs[])
113{ 113{
diff --git a/drivers/media/pci/cx88/cx88-video.c b/drivers/media/pci/cx88/cx88-video.c
index c6a337abdbb3..f3b12dbbe9a1 100644
--- a/drivers/media/pci/cx88/cx88-video.c
+++ b/drivers/media/pci/cx88/cx88-video.c
@@ -429,7 +429,7 @@ static int restart_video_queue(struct cx8800_dev *dev,
429 429
430/* ------------------------------------------------------------------ */ 430/* ------------------------------------------------------------------ */
431 431
432static int queue_setup(struct vb2_queue *q, const struct v4l2_format *fmt, 432static int queue_setup(struct vb2_queue *q, const void *parg,
433 unsigned int *num_buffers, unsigned int *num_planes, 433 unsigned int *num_buffers, unsigned int *num_planes,
434 unsigned int sizes[], void *alloc_ctxs[]) 434 unsigned int sizes[], void *alloc_ctxs[])
435{ 435{
diff --git a/drivers/media/pci/dt3155/dt3155.c b/drivers/media/pci/dt3155/dt3155.c
index f27a8582d179..d84abde5ea29 100644
--- a/drivers/media/pci/dt3155/dt3155.c
+++ b/drivers/media/pci/dt3155/dt3155.c
@@ -131,11 +131,12 @@ static int wait_i2c_reg(void __iomem *addr)
131} 131}
132 132
133static int 133static int
134dt3155_queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, 134dt3155_queue_setup(struct vb2_queue *vq, const void *parg,
135 unsigned int *nbuffers, unsigned int *num_planes, 135 unsigned int *nbuffers, unsigned int *num_planes,
136 unsigned int sizes[], void *alloc_ctxs[]) 136 unsigned int sizes[], void *alloc_ctxs[])
137 137
138{ 138{
139 const struct v4l2_format *fmt = parg;
139 struct dt3155_priv *pd = vb2_get_drv_priv(vq); 140 struct dt3155_priv *pd = vb2_get_drv_priv(vq);
140 unsigned size = pd->width * pd->height; 141 unsigned size = pd->width * pd->height;
141 142
diff --git a/drivers/media/pci/netup_unidvb/netup_unidvb_core.c b/drivers/media/pci/netup_unidvb/netup_unidvb_core.c
index 04c8411ea27d..83c90d3462e9 100644
--- a/drivers/media/pci/netup_unidvb/netup_unidvb_core.c
+++ b/drivers/media/pci/netup_unidvb/netup_unidvb_core.c
@@ -277,7 +277,7 @@ static irqreturn_t netup_unidvb_isr(int irq, void *dev_id)
277} 277}
278 278
279static int netup_unidvb_queue_setup(struct vb2_queue *vq, 279static int netup_unidvb_queue_setup(struct vb2_queue *vq,
280 const struct v4l2_format *fmt, 280 const void *parg,
281 unsigned int *nbuffers, 281 unsigned int *nbuffers,
282 unsigned int *nplanes, 282 unsigned int *nplanes,
283 unsigned int sizes[], 283 unsigned int sizes[],
diff --git a/drivers/media/pci/saa7134/saa7134-ts.c b/drivers/media/pci/saa7134/saa7134-ts.c
index b0ef37dc770a..7fb5ee7e20ac 100644
--- a/drivers/media/pci/saa7134/saa7134-ts.c
+++ b/drivers/media/pci/saa7134/saa7134-ts.c
@@ -116,7 +116,7 @@ int saa7134_ts_buffer_prepare(struct vb2_buffer *vb2)
116} 116}
117EXPORT_SYMBOL_GPL(saa7134_ts_buffer_prepare); 117EXPORT_SYMBOL_GPL(saa7134_ts_buffer_prepare);
118 118
119int saa7134_ts_queue_setup(struct vb2_queue *q, const struct v4l2_format *fmt, 119int saa7134_ts_queue_setup(struct vb2_queue *q, const void *parg,
120 unsigned int *nbuffers, unsigned int *nplanes, 120 unsigned int *nbuffers, unsigned int *nplanes,
121 unsigned int sizes[], void *alloc_ctxs[]) 121 unsigned int sizes[], void *alloc_ctxs[])
122{ 122{
diff --git a/drivers/media/pci/saa7134/saa7134-vbi.c b/drivers/media/pci/saa7134/saa7134-vbi.c
index fb1605e25e52..6271b0eb0265 100644
--- a/drivers/media/pci/saa7134/saa7134-vbi.c
+++ b/drivers/media/pci/saa7134/saa7134-vbi.c
@@ -138,7 +138,7 @@ static int buffer_prepare(struct vb2_buffer *vb2)
138 saa7134_buffer_startpage(buf)); 138 saa7134_buffer_startpage(buf));
139} 139}
140 140
141static int queue_setup(struct vb2_queue *q, const struct v4l2_format *fmt, 141static int queue_setup(struct vb2_queue *q, const void *parg,
142 unsigned int *nbuffers, unsigned int *nplanes, 142 unsigned int *nbuffers, unsigned int *nplanes,
143 unsigned int sizes[], void *alloc_ctxs[]) 143 unsigned int sizes[], void *alloc_ctxs[])
144{ 144{
diff --git a/drivers/media/pci/saa7134/saa7134-video.c b/drivers/media/pci/saa7134/saa7134-video.c
index 602d53d6122c..518086c7aed5 100644
--- a/drivers/media/pci/saa7134/saa7134-video.c
+++ b/drivers/media/pci/saa7134/saa7134-video.c
@@ -904,7 +904,7 @@ static int buffer_prepare(struct vb2_buffer *vb2)
904 saa7134_buffer_startpage(buf)); 904 saa7134_buffer_startpage(buf));
905} 905}
906 906
907static int queue_setup(struct vb2_queue *q, const struct v4l2_format *fmt, 907static int queue_setup(struct vb2_queue *q, const void *parg,
908 unsigned int *nbuffers, unsigned int *nplanes, 908 unsigned int *nbuffers, unsigned int *nplanes,
909 unsigned int sizes[], void *alloc_ctxs[]) 909 unsigned int sizes[], void *alloc_ctxs[])
910{ 910{
diff --git a/drivers/media/pci/saa7134/saa7134.h b/drivers/media/pci/saa7134/saa7134.h
index fea0514dfa4a..6b6d234f5cab 100644
--- a/drivers/media/pci/saa7134/saa7134.h
+++ b/drivers/media/pci/saa7134/saa7134.h
@@ -820,7 +820,7 @@ void saa7134_video_fini(struct saa7134_dev *dev);
820 820
821int saa7134_ts_buffer_init(struct vb2_buffer *vb2); 821int saa7134_ts_buffer_init(struct vb2_buffer *vb2);
822int saa7134_ts_buffer_prepare(struct vb2_buffer *vb2); 822int saa7134_ts_buffer_prepare(struct vb2_buffer *vb2);
823int saa7134_ts_queue_setup(struct vb2_queue *q, const struct v4l2_format *fmt, 823int saa7134_ts_queue_setup(struct vb2_queue *q, const void *parg,
824 unsigned int *nbuffers, unsigned int *nplanes, 824 unsigned int *nbuffers, unsigned int *nplanes,
825 unsigned int sizes[], void *alloc_ctxs[]); 825 unsigned int sizes[], void *alloc_ctxs[]);
826int saa7134_ts_start_streaming(struct vb2_queue *vq, unsigned int count); 826int saa7134_ts_start_streaming(struct vb2_queue *vq, unsigned int count);
diff --git a/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c b/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c
index 78ac3fe22b45..1bd2fd47421f 100644
--- a/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c
+++ b/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c
@@ -663,7 +663,7 @@ static int solo_ring_thread(void *data)
663} 663}
664 664
665static int solo_enc_queue_setup(struct vb2_queue *q, 665static int solo_enc_queue_setup(struct vb2_queue *q,
666 const struct v4l2_format *fmt, 666 const void *parg,
667 unsigned int *num_buffers, 667 unsigned int *num_buffers,
668 unsigned int *num_planes, unsigned int sizes[], 668 unsigned int *num_planes, unsigned int sizes[],
669 void *alloc_ctxs[]) 669 void *alloc_ctxs[])
diff --git a/drivers/media/pci/solo6x10/solo6x10-v4l2.c b/drivers/media/pci/solo6x10/solo6x10-v4l2.c
index 57d0d9cf190e..26df903585d7 100644
--- a/drivers/media/pci/solo6x10/solo6x10-v4l2.c
+++ b/drivers/media/pci/solo6x10/solo6x10-v4l2.c
@@ -313,7 +313,7 @@ static void solo_stop_thread(struct solo_dev *solo_dev)
313 solo_dev->kthread = NULL; 313 solo_dev->kthread = NULL;
314} 314}
315 315
316static int solo_queue_setup(struct vb2_queue *q, const struct v4l2_format *fmt, 316static int solo_queue_setup(struct vb2_queue *q, const void *parg,
317 unsigned int *num_buffers, unsigned int *num_planes, 317 unsigned int *num_buffers, unsigned int *num_planes,
318 unsigned int sizes[], void *alloc_ctxs[]) 318 unsigned int sizes[], void *alloc_ctxs[])
319{ 319{
diff --git a/drivers/media/pci/sta2x11/sta2x11_vip.c b/drivers/media/pci/sta2x11/sta2x11_vip.c
index fc99f33d65e9..6367b455a7e7 100644
--- a/drivers/media/pci/sta2x11/sta2x11_vip.c
+++ b/drivers/media/pci/sta2x11/sta2x11_vip.c
@@ -265,7 +265,7 @@ static void vip_active_buf_next(struct sta2x11_vip *vip)
265 265
266 266
267/* Videobuf2 Operations */ 267/* Videobuf2 Operations */
268static int queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, 268static int queue_setup(struct vb2_queue *vq, const void *parg,
269 unsigned int *nbuffers, unsigned int *nplanes, 269 unsigned int *nbuffers, unsigned int *nplanes,
270 unsigned int sizes[], void *alloc_ctxs[]) 270 unsigned int sizes[], void *alloc_ctxs[])
271{ 271{
diff --git a/drivers/media/pci/tw68/tw68-video.c b/drivers/media/pci/tw68/tw68-video.c
index 323721439b8e..4c3293dcddbc 100644
--- a/drivers/media/pci/tw68/tw68-video.c
+++ b/drivers/media/pci/tw68/tw68-video.c
@@ -376,10 +376,11 @@ static int tw68_buffer_count(unsigned int size, unsigned int count)
376/* ------------------------------------------------------------- */ 376/* ------------------------------------------------------------- */
377/* vb2 queue operations */ 377/* vb2 queue operations */
378 378
379static int tw68_queue_setup(struct vb2_queue *q, const struct v4l2_format *fmt, 379static int tw68_queue_setup(struct vb2_queue *q, const void *parg,
380 unsigned int *num_buffers, unsigned int *num_planes, 380 unsigned int *num_buffers, unsigned int *num_planes,
381 unsigned int sizes[], void *alloc_ctxs[]) 381 unsigned int sizes[], void *alloc_ctxs[])
382{ 382{
383 const struct v4l2_format *fmt = parg;
383 struct tw68_dev *dev = vb2_get_drv_priv(q); 384 struct tw68_dev *dev = vb2_get_drv_priv(q);
384 unsigned tot_bufs = q->num_buffers + *num_buffers; 385 unsigned tot_bufs = q->num_buffers + *num_buffers;
385 386
diff --git a/drivers/media/platform/am437x/am437x-vpfe.c b/drivers/media/platform/am437x/am437x-vpfe.c
index 6751aecda0a1..f0480d687f17 100644
--- a/drivers/media/platform/am437x/am437x-vpfe.c
+++ b/drivers/media/platform/am437x/am437x-vpfe.c
@@ -1908,10 +1908,11 @@ static void vpfe_calculate_offsets(struct vpfe_device *vpfe)
1908 * the buffer count and buffer size 1908 * the buffer count and buffer size
1909 */ 1909 */
1910static int vpfe_queue_setup(struct vb2_queue *vq, 1910static int vpfe_queue_setup(struct vb2_queue *vq,
1911 const struct v4l2_format *fmt, 1911 const void *parg,
1912 unsigned int *nbuffers, unsigned int *nplanes, 1912 unsigned int *nbuffers, unsigned int *nplanes,
1913 unsigned int sizes[], void *alloc_ctxs[]) 1913 unsigned int sizes[], void *alloc_ctxs[])
1914{ 1914{
1915 const struct v4l2_format *fmt = parg;
1915 struct vpfe_device *vpfe = vb2_get_drv_priv(vq); 1916 struct vpfe_device *vpfe = vb2_get_drv_priv(vq);
1916 1917
1917 if (fmt && fmt->fmt.pix.sizeimage < vpfe->fmt.fmt.pix.sizeimage) 1918 if (fmt && fmt->fmt.pix.sizeimage < vpfe->fmt.fmt.pix.sizeimage)
diff --git a/drivers/media/platform/blackfin/bfin_capture.c b/drivers/media/platform/blackfin/bfin_capture.c
index db059eb0ff19..7764b9c482ef 100644
--- a/drivers/media/platform/blackfin/bfin_capture.c
+++ b/drivers/media/platform/blackfin/bfin_capture.c
@@ -202,10 +202,11 @@ static void bcap_free_sensor_formats(struct bcap_device *bcap_dev)
202} 202}
203 203
204static int bcap_queue_setup(struct vb2_queue *vq, 204static int bcap_queue_setup(struct vb2_queue *vq,
205 const struct v4l2_format *fmt, 205 const void *parg,
206 unsigned int *nbuffers, unsigned int *nplanes, 206 unsigned int *nbuffers, unsigned int *nplanes,
207 unsigned int sizes[], void *alloc_ctxs[]) 207 unsigned int sizes[], void *alloc_ctxs[])
208{ 208{
209 const struct v4l2_format *fmt = parg;
209 struct bcap_device *bcap_dev = vb2_get_drv_priv(vq); 210 struct bcap_device *bcap_dev = vb2_get_drv_priv(vq);
210 211
211 if (fmt && fmt->fmt.pix.sizeimage < bcap_dev->fmt.sizeimage) 212 if (fmt && fmt->fmt.pix.sizeimage < bcap_dev->fmt.sizeimage)
diff --git a/drivers/media/platform/coda/coda-common.c b/drivers/media/platform/coda/coda-common.c
index 60336eec75af..15516a6e3a39 100644
--- a/drivers/media/platform/coda/coda-common.c
+++ b/drivers/media/platform/coda/coda-common.c
@@ -1131,8 +1131,7 @@ static void set_default_params(struct coda_ctx *ctx)
1131/* 1131/*
1132 * Queue operations 1132 * Queue operations
1133 */ 1133 */
1134static int coda_queue_setup(struct vb2_queue *vq, 1134static int coda_queue_setup(struct vb2_queue *vq, const void *parg,
1135 const struct v4l2_format *fmt,
1136 unsigned int *nbuffers, unsigned int *nplanes, 1135 unsigned int *nbuffers, unsigned int *nplanes,
1137 unsigned int sizes[], void *alloc_ctxs[]) 1136 unsigned int sizes[], void *alloc_ctxs[])
1138{ 1137{
diff --git a/drivers/media/platform/davinci/vpbe_display.c b/drivers/media/platform/davinci/vpbe_display.c
index 39f8ccfae339..6d91422c4e4c 100644
--- a/drivers/media/platform/davinci/vpbe_display.c
+++ b/drivers/media/platform/davinci/vpbe_display.c
@@ -228,11 +228,12 @@ static int vpbe_buffer_prepare(struct vb2_buffer *vb)
228 * This function allocates memory for the buffers 228 * This function allocates memory for the buffers
229 */ 229 */
230static int 230static int
231vpbe_buffer_queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, 231vpbe_buffer_queue_setup(struct vb2_queue *vq, const void *parg,
232 unsigned int *nbuffers, unsigned int *nplanes, 232 unsigned int *nbuffers, unsigned int *nplanes,
233 unsigned int sizes[], void *alloc_ctxs[]) 233 unsigned int sizes[], void *alloc_ctxs[])
234 234
235{ 235{
236 const struct v4l2_format *fmt = parg;
236 /* Get the file handle object and layer object */ 237 /* Get the file handle object and layer object */
237 struct vpbe_layer *layer = vb2_get_drv_priv(vq); 238 struct vpbe_layer *layer = vb2_get_drv_priv(vq);
238 struct vpbe_device *vpbe_dev = layer->disp_dev->vpbe_dev; 239 struct vpbe_device *vpbe_dev = layer->disp_dev->vpbe_dev;
diff --git a/drivers/media/platform/davinci/vpif_capture.c b/drivers/media/platform/davinci/vpif_capture.c
index b29bb64db8bf..c1e573b7cc6f 100644
--- a/drivers/media/platform/davinci/vpif_capture.c
+++ b/drivers/media/platform/davinci/vpif_capture.c
@@ -114,10 +114,11 @@ static int vpif_buffer_prepare(struct vb2_buffer *vb)
114 * the buffer count and buffer size 114 * the buffer count and buffer size
115 */ 115 */
116static int vpif_buffer_queue_setup(struct vb2_queue *vq, 116static int vpif_buffer_queue_setup(struct vb2_queue *vq,
117 const struct v4l2_format *fmt, 117 const void *parg,
118 unsigned int *nbuffers, unsigned int *nplanes, 118 unsigned int *nbuffers, unsigned int *nplanes,
119 unsigned int sizes[], void *alloc_ctxs[]) 119 unsigned int sizes[], void *alloc_ctxs[])
120{ 120{
121 const struct v4l2_format *fmt = parg;
121 struct channel_obj *ch = vb2_get_drv_priv(vq); 122 struct channel_obj *ch = vb2_get_drv_priv(vq);
122 struct common_obj *common; 123 struct common_obj *common;
123 124
diff --git a/drivers/media/platform/davinci/vpif_display.c b/drivers/media/platform/davinci/vpif_display.c
index f51518c5b787..fd2780306c17 100644
--- a/drivers/media/platform/davinci/vpif_display.c
+++ b/drivers/media/platform/davinci/vpif_display.c
@@ -109,10 +109,11 @@ static int vpif_buffer_prepare(struct vb2_buffer *vb)
109 * the buffer count and buffer size 109 * the buffer count and buffer size
110 */ 110 */
111static int vpif_buffer_queue_setup(struct vb2_queue *vq, 111static int vpif_buffer_queue_setup(struct vb2_queue *vq,
112 const struct v4l2_format *fmt, 112 const void *parg,
113 unsigned int *nbuffers, unsigned int *nplanes, 113 unsigned int *nbuffers, unsigned int *nplanes,
114 unsigned int sizes[], void *alloc_ctxs[]) 114 unsigned int sizes[], void *alloc_ctxs[])
115{ 115{
116 const struct v4l2_format *fmt = parg;
116 struct channel_obj *ch = vb2_get_drv_priv(vq); 117 struct channel_obj *ch = vb2_get_drv_priv(vq);
117 struct common_obj *common = &ch->common[VPIF_VIDEO_INDEX]; 118 struct common_obj *common = &ch->common[VPIF_VIDEO_INDEX];
118 119
diff --git a/drivers/media/platform/exynos-gsc/gsc-m2m.c b/drivers/media/platform/exynos-gsc/gsc-m2m.c
index 59d134d1fa93..d82e717acba7 100644
--- a/drivers/media/platform/exynos-gsc/gsc-m2m.c
+++ b/drivers/media/platform/exynos-gsc/gsc-m2m.c
@@ -212,7 +212,7 @@ put_device:
212} 212}
213 213
214static int gsc_m2m_queue_setup(struct vb2_queue *vq, 214static int gsc_m2m_queue_setup(struct vb2_queue *vq,
215 const struct v4l2_format *fmt, 215 const void *parg,
216 unsigned int *num_buffers, unsigned int *num_planes, 216 unsigned int *num_buffers, unsigned int *num_planes,
217 unsigned int sizes[], void *allocators[]) 217 unsigned int sizes[], void *allocators[])
218{ 218{
diff --git a/drivers/media/platform/exynos4-is/fimc-capture.c b/drivers/media/platform/exynos4-is/fimc-capture.c
index fa698e7b916b..99e57320e6f7 100644
--- a/drivers/media/platform/exynos4-is/fimc-capture.c
+++ b/drivers/media/platform/exynos4-is/fimc-capture.c
@@ -338,10 +338,11 @@ int fimc_capture_resume(struct fimc_dev *fimc)
338 338
339} 339}
340 340
341static int queue_setup(struct vb2_queue *vq, const struct v4l2_format *pfmt, 341static int queue_setup(struct vb2_queue *vq, const void *parg,
342 unsigned int *num_buffers, unsigned int *num_planes, 342 unsigned int *num_buffers, unsigned int *num_planes,
343 unsigned int sizes[], void *allocators[]) 343 unsigned int sizes[], void *allocators[])
344{ 344{
345 const struct v4l2_format *pfmt = parg;
345 const struct v4l2_pix_format_mplane *pixm = NULL; 346 const struct v4l2_pix_format_mplane *pixm = NULL;
346 struct fimc_ctx *ctx = vq->drv_priv; 347 struct fimc_ctx *ctx = vq->drv_priv;
347 struct fimc_frame *frame = &ctx->d_frame; 348 struct fimc_frame *frame = &ctx->d_frame;
diff --git a/drivers/media/platform/exynos4-is/fimc-isp-video.c b/drivers/media/platform/exynos4-is/fimc-isp-video.c
index bacc3a389b7c..6e6648446f00 100644
--- a/drivers/media/platform/exynos4-is/fimc-isp-video.c
+++ b/drivers/media/platform/exynos4-is/fimc-isp-video.c
@@ -39,10 +39,11 @@
39#include "fimc-is-param.h" 39#include "fimc-is-param.h"
40 40
41static int isp_video_capture_queue_setup(struct vb2_queue *vq, 41static int isp_video_capture_queue_setup(struct vb2_queue *vq,
42 const struct v4l2_format *pfmt, 42 const void *parg,
43 unsigned int *num_buffers, unsigned int *num_planes, 43 unsigned int *num_buffers, unsigned int *num_planes,
44 unsigned int sizes[], void *allocators[]) 44 unsigned int sizes[], void *allocators[])
45{ 45{
46 const struct v4l2_format *pfmt = parg;
46 struct fimc_isp *isp = vb2_get_drv_priv(vq); 47 struct fimc_isp *isp = vb2_get_drv_priv(vq);
47 struct v4l2_pix_format_mplane *vid_fmt = &isp->video_capture.pixfmt; 48 struct v4l2_pix_format_mplane *vid_fmt = &isp->video_capture.pixfmt;
48 const struct v4l2_pix_format_mplane *pixm = NULL; 49 const struct v4l2_pix_format_mplane *pixm = NULL;
diff --git a/drivers/media/platform/exynos4-is/fimc-lite.c b/drivers/media/platform/exynos4-is/fimc-lite.c
index 1920cfbd0369..60660c3a5de0 100644
--- a/drivers/media/platform/exynos4-is/fimc-lite.c
+++ b/drivers/media/platform/exynos4-is/fimc-lite.c
@@ -355,10 +355,11 @@ static void stop_streaming(struct vb2_queue *q)
355 fimc_lite_stop_capture(fimc, false); 355 fimc_lite_stop_capture(fimc, false);
356} 356}
357 357
358static int queue_setup(struct vb2_queue *vq, const struct v4l2_format *pfmt, 358static int queue_setup(struct vb2_queue *vq, const void *parg,
359 unsigned int *num_buffers, unsigned int *num_planes, 359 unsigned int *num_buffers, unsigned int *num_planes,
360 unsigned int sizes[], void *allocators[]) 360 unsigned int sizes[], void *allocators[])
361{ 361{
362 const struct v4l2_format *pfmt = parg;
362 const struct v4l2_pix_format_mplane *pixm = NULL; 363 const struct v4l2_pix_format_mplane *pixm = NULL;
363 struct fimc_lite *fimc = vq->drv_priv; 364 struct fimc_lite *fimc = vq->drv_priv;
364 struct flite_frame *frame = &fimc->out_frame; 365 struct flite_frame *frame = &fimc->out_frame;
diff --git a/drivers/media/platform/exynos4-is/fimc-m2m.c b/drivers/media/platform/exynos4-is/fimc-m2m.c
index 79b8a3bfbd2b..4d1d64a46b21 100644
--- a/drivers/media/platform/exynos4-is/fimc-m2m.c
+++ b/drivers/media/platform/exynos4-is/fimc-m2m.c
@@ -176,7 +176,7 @@ static void fimc_job_abort(void *priv)
176 fimc_m2m_shutdown(priv); 176 fimc_m2m_shutdown(priv);
177} 177}
178 178
179static int fimc_queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, 179static int fimc_queue_setup(struct vb2_queue *vq, const void *parg,
180 unsigned int *num_buffers, unsigned int *num_planes, 180 unsigned int *num_buffers, unsigned int *num_planes,
181 unsigned int sizes[], void *allocators[]) 181 unsigned int sizes[], void *allocators[])
182{ 182{
diff --git a/drivers/media/platform/m2m-deinterlace.c b/drivers/media/platform/m2m-deinterlace.c
index bdd8f11d8fb1..29973f9bf8db 100644
--- a/drivers/media/platform/m2m-deinterlace.c
+++ b/drivers/media/platform/m2m-deinterlace.c
@@ -798,7 +798,7 @@ struct vb2_dc_conf {
798}; 798};
799 799
800static int deinterlace_queue_setup(struct vb2_queue *vq, 800static int deinterlace_queue_setup(struct vb2_queue *vq,
801 const struct v4l2_format *fmt, 801 const void *parg,
802 unsigned int *nbuffers, unsigned int *nplanes, 802 unsigned int *nbuffers, unsigned int *nplanes,
803 unsigned int sizes[], void *alloc_ctxs[]) 803 unsigned int sizes[], void *alloc_ctxs[])
804{ 804{
diff --git a/drivers/media/platform/marvell-ccic/mcam-core.c b/drivers/media/platform/marvell-ccic/mcam-core.c
index 1d95842e2071..aa2b44041d3f 100644
--- a/drivers/media/platform/marvell-ccic/mcam-core.c
+++ b/drivers/media/platform/marvell-ccic/mcam-core.c
@@ -1049,10 +1049,11 @@ static int mcam_read_setup(struct mcam_camera *cam)
1049 */ 1049 */
1050 1050
1051static int mcam_vb_queue_setup(struct vb2_queue *vq, 1051static int mcam_vb_queue_setup(struct vb2_queue *vq,
1052 const struct v4l2_format *fmt, unsigned int *nbufs, 1052 const void *parg, unsigned int *nbufs,
1053 unsigned int *num_planes, unsigned int sizes[], 1053 unsigned int *num_planes, unsigned int sizes[],
1054 void *alloc_ctxs[]) 1054 void *alloc_ctxs[])
1055{ 1055{
1056 const struct v4l2_format *fmt = parg;
1056 struct mcam_camera *cam = vb2_get_drv_priv(vq); 1057 struct mcam_camera *cam = vb2_get_drv_priv(vq);
1057 int minbufs = (cam->buffer_mode == B_DMA_contig) ? 3 : 2; 1058 int minbufs = (cam->buffer_mode == B_DMA_contig) ? 3 : 2;
1058 1059
diff --git a/drivers/media/platform/mx2_emmaprp.c b/drivers/media/platform/mx2_emmaprp.c
index b7cea274d7ea..03a1b606655d 100644
--- a/drivers/media/platform/mx2_emmaprp.c
+++ b/drivers/media/platform/mx2_emmaprp.c
@@ -689,7 +689,7 @@ static const struct v4l2_ioctl_ops emmaprp_ioctl_ops = {
689 * Queue operations 689 * Queue operations
690 */ 690 */
691static int emmaprp_queue_setup(struct vb2_queue *vq, 691static int emmaprp_queue_setup(struct vb2_queue *vq,
692 const struct v4l2_format *fmt, 692 const void *parg,
693 unsigned int *nbuffers, unsigned int *nplanes, 693 unsigned int *nbuffers, unsigned int *nplanes,
694 unsigned int sizes[], void *alloc_ctxs[]) 694 unsigned int sizes[], void *alloc_ctxs[])
695{ 695{
diff --git a/drivers/media/platform/omap3isp/ispvideo.c b/drivers/media/platform/omap3isp/ispvideo.c
index 786cc8593f94..f4f591652432 100644
--- a/drivers/media/platform/omap3isp/ispvideo.c
+++ b/drivers/media/platform/omap3isp/ispvideo.c
@@ -320,7 +320,7 @@ isp_video_check_format(struct isp_video *video, struct isp_video_fh *vfh)
320 */ 320 */
321 321
322static int isp_video_queue_setup(struct vb2_queue *queue, 322static int isp_video_queue_setup(struct vb2_queue *queue,
323 const struct v4l2_format *fmt, 323 const void *parg,
324 unsigned int *count, unsigned int *num_planes, 324 unsigned int *count, unsigned int *num_planes,
325 unsigned int sizes[], void *alloc_ctxs[]) 325 unsigned int sizes[], void *alloc_ctxs[])
326{ 326{
diff --git a/drivers/media/platform/rcar_jpu.c b/drivers/media/platform/rcar_jpu.c
index c80395df67bc..f8e3e83c52a2 100644
--- a/drivers/media/platform/rcar_jpu.c
+++ b/drivers/media/platform/rcar_jpu.c
@@ -1015,10 +1015,11 @@ error_free:
1015 * ============================================================================ 1015 * ============================================================================
1016 */ 1016 */
1017static int jpu_queue_setup(struct vb2_queue *vq, 1017static int jpu_queue_setup(struct vb2_queue *vq,
1018 const struct v4l2_format *fmt, 1018 const void *parg,
1019 unsigned int *nbuffers, unsigned int *nplanes, 1019 unsigned int *nbuffers, unsigned int *nplanes,
1020 unsigned int sizes[], void *alloc_ctxs[]) 1020 unsigned int sizes[], void *alloc_ctxs[])
1021{ 1021{
1022 const struct v4l2_format *fmt = parg;
1022 struct jpu_ctx *ctx = vb2_get_drv_priv(vq); 1023 struct jpu_ctx *ctx = vb2_get_drv_priv(vq);
1023 struct jpu_q_data *q_data; 1024 struct jpu_q_data *q_data;
1024 unsigned int i; 1025 unsigned int i;
diff --git a/drivers/media/platform/s3c-camif/camif-capture.c b/drivers/media/platform/s3c-camif/camif-capture.c
index 5666766e2b87..537b858cb94a 100644
--- a/drivers/media/platform/s3c-camif/camif-capture.c
+++ b/drivers/media/platform/s3c-camif/camif-capture.c
@@ -435,10 +435,11 @@ static void stop_streaming(struct vb2_queue *vq)
435 camif_stop_capture(vp); 435 camif_stop_capture(vp);
436} 436}
437 437
438static int queue_setup(struct vb2_queue *vq, const struct v4l2_format *pfmt, 438static int queue_setup(struct vb2_queue *vq, const void *parg,
439 unsigned int *num_buffers, unsigned int *num_planes, 439 unsigned int *num_buffers, unsigned int *num_planes,
440 unsigned int sizes[], void *allocators[]) 440 unsigned int sizes[], void *allocators[])
441{ 441{
442 const struct v4l2_format *pfmt = parg;
442 const struct v4l2_pix_format *pix = NULL; 443 const struct v4l2_pix_format *pix = NULL;
443 struct camif_vp *vp = vb2_get_drv_priv(vq); 444 struct camif_vp *vp = vb2_get_drv_priv(vq);
444 struct camif_dev *camif = vp->camif; 445 struct camif_dev *camif = vp->camif;
diff --git a/drivers/media/platform/s5p-g2d/g2d.c b/drivers/media/platform/s5p-g2d/g2d.c
index 4db507ab6777..e1936d9d27da 100644
--- a/drivers/media/platform/s5p-g2d/g2d.c
+++ b/drivers/media/platform/s5p-g2d/g2d.c
@@ -101,7 +101,7 @@ static struct g2d_frame *get_frame(struct g2d_ctx *ctx,
101 } 101 }
102} 102}
103 103
104static int g2d_queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, 104static int g2d_queue_setup(struct vb2_queue *vq, const void *parg,
105 unsigned int *nbuffers, unsigned int *nplanes, 105 unsigned int *nbuffers, unsigned int *nplanes,
106 unsigned int sizes[], void *alloc_ctxs[]) 106 unsigned int sizes[], void *alloc_ctxs[])
107{ 107{
diff --git a/drivers/media/platform/s5p-jpeg/jpeg-core.c b/drivers/media/platform/s5p-jpeg/jpeg-core.c
index 2ce9fe2fcb28..4a608cbe0fdb 100644
--- a/drivers/media/platform/s5p-jpeg/jpeg-core.c
+++ b/drivers/media/platform/s5p-jpeg/jpeg-core.c
@@ -2430,7 +2430,7 @@ static struct v4l2_m2m_ops exynos4_jpeg_m2m_ops = {
2430 */ 2430 */
2431 2431
2432static int s5p_jpeg_queue_setup(struct vb2_queue *vq, 2432static int s5p_jpeg_queue_setup(struct vb2_queue *vq,
2433 const struct v4l2_format *fmt, 2433 const void *parg,
2434 unsigned int *nbuffers, unsigned int *nplanes, 2434 unsigned int *nbuffers, unsigned int *nplanes,
2435 unsigned int sizes[], void *alloc_ctxs[]) 2435 unsigned int sizes[], void *alloc_ctxs[])
2436{ 2436{
diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
index 8d3d40cc9326..8c5060a7534f 100644
--- a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
+++ b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
@@ -888,7 +888,7 @@ static const struct v4l2_ioctl_ops s5p_mfc_dec_ioctl_ops = {
888}; 888};
889 889
890static int s5p_mfc_queue_setup(struct vb2_queue *vq, 890static int s5p_mfc_queue_setup(struct vb2_queue *vq,
891 const struct v4l2_format *fmt, unsigned int *buf_count, 891 const void *parg, unsigned int *buf_count,
892 unsigned int *plane_count, unsigned int psize[], 892 unsigned int *plane_count, unsigned int psize[],
893 void *allocators[]) 893 void *allocators[])
894{ 894{
diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
index 4dbe5756dbf9..5c678ec9c9f2 100644
--- a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
+++ b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
@@ -1818,7 +1818,7 @@ static int check_vb_with_fmt(struct s5p_mfc_fmt *fmt, struct vb2_buffer *vb)
1818} 1818}
1819 1819
1820static int s5p_mfc_queue_setup(struct vb2_queue *vq, 1820static int s5p_mfc_queue_setup(struct vb2_queue *vq,
1821 const struct v4l2_format *fmt, 1821 const void *parg,
1822 unsigned int *buf_count, unsigned int *plane_count, 1822 unsigned int *buf_count, unsigned int *plane_count,
1823 unsigned int psize[], void *allocators[]) 1823 unsigned int psize[], void *allocators[])
1824{ 1824{
diff --git a/drivers/media/platform/s5p-tv/mixer_video.c b/drivers/media/platform/s5p-tv/mixer_video.c
index dba92b54a588..dc1c679e136c 100644
--- a/drivers/media/platform/s5p-tv/mixer_video.c
+++ b/drivers/media/platform/s5p-tv/mixer_video.c
@@ -881,7 +881,7 @@ static const struct v4l2_file_operations mxr_fops = {
881 .unlocked_ioctl = video_ioctl2, 881 .unlocked_ioctl = video_ioctl2,
882}; 882};
883 883
884static int queue_setup(struct vb2_queue *vq, const struct v4l2_format *pfmt, 884static int queue_setup(struct vb2_queue *vq, const void *parg,
885 unsigned int *nbuffers, unsigned int *nplanes, unsigned int sizes[], 885 unsigned int *nbuffers, unsigned int *nplanes, unsigned int sizes[],
886 void *alloc_ctxs[]) 886 void *alloc_ctxs[])
887{ 887{
diff --git a/drivers/media/platform/sh_veu.c b/drivers/media/platform/sh_veu.c
index 6455cb9b3224..d6ab33e7060a 100644
--- a/drivers/media/platform/sh_veu.c
+++ b/drivers/media/platform/sh_veu.c
@@ -865,10 +865,11 @@ static const struct v4l2_ioctl_ops sh_veu_ioctl_ops = {
865 /* ========== Queue operations ========== */ 865 /* ========== Queue operations ========== */
866 866
867static int sh_veu_queue_setup(struct vb2_queue *vq, 867static int sh_veu_queue_setup(struct vb2_queue *vq,
868 const struct v4l2_format *f, 868 const void *parg,
869 unsigned int *nbuffers, unsigned int *nplanes, 869 unsigned int *nbuffers, unsigned int *nplanes,
870 unsigned int sizes[], void *alloc_ctxs[]) 870 unsigned int sizes[], void *alloc_ctxs[])
871{ 871{
872 const struct v4l2_format *f = parg;
872 struct sh_veu_dev *veu = vb2_get_drv_priv(vq); 873 struct sh_veu_dev *veu = vb2_get_drv_priv(vq);
873 struct sh_veu_vfmt *vfmt; 874 struct sh_veu_vfmt *vfmt;
874 unsigned int size, count = *nbuffers; 875 unsigned int size, count = *nbuffers;
diff --git a/drivers/media/platform/sh_vou.c b/drivers/media/platform/sh_vou.c
index 7967a75fde36..2231f8922df3 100644
--- a/drivers/media/platform/sh_vou.c
+++ b/drivers/media/platform/sh_vou.c
@@ -243,10 +243,11 @@ static void sh_vou_stream_config(struct sh_vou_device *vou_dev)
243} 243}
244 244
245/* Locking: caller holds fop_lock mutex */ 245/* Locking: caller holds fop_lock mutex */
246static int sh_vou_queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, 246static int sh_vou_queue_setup(struct vb2_queue *vq, const void *parg,
247 unsigned int *nbuffers, unsigned int *nplanes, 247 unsigned int *nbuffers, unsigned int *nplanes,
248 unsigned int sizes[], void *alloc_ctxs[]) 248 unsigned int sizes[], void *alloc_ctxs[])
249{ 249{
250 const struct v4l2_format *fmt = parg;
250 struct sh_vou_device *vou_dev = vb2_get_drv_priv(vq); 251 struct sh_vou_device *vou_dev = vb2_get_drv_priv(vq);
251 struct v4l2_pix_format *pix = &vou_dev->pix; 252 struct v4l2_pix_format *pix = &vou_dev->pix;
252 int bytes_per_line = vou_fmt[vou_dev->pix_idx].bpp * pix->width / 8; 253 int bytes_per_line = vou_fmt[vou_dev->pix_idx].bpp * pix->width / 8;
diff --git a/drivers/media/platform/soc_camera/atmel-isi.c b/drivers/media/platform/soc_camera/atmel-isi.c
index 1036f77ab28a..454f68f0cdad 100644
--- a/drivers/media/platform/soc_camera/atmel-isi.c
+++ b/drivers/media/platform/soc_camera/atmel-isi.c
@@ -245,7 +245,7 @@ static int atmel_isi_wait_status(struct atmel_isi *isi, int wait_reset)
245/* ------------------------------------------------------------------ 245/* ------------------------------------------------------------------
246 Videobuf operations 246 Videobuf operations
247 ------------------------------------------------------------------*/ 247 ------------------------------------------------------------------*/
248static int queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, 248static int queue_setup(struct vb2_queue *vq, const void *parg,
249 unsigned int *nbuffers, unsigned int *nplanes, 249 unsigned int *nbuffers, unsigned int *nplanes,
250 unsigned int sizes[], void *alloc_ctxs[]) 250 unsigned int sizes[], void *alloc_ctxs[])
251{ 251{
diff --git a/drivers/media/platform/soc_camera/mx2_camera.c b/drivers/media/platform/soc_camera/mx2_camera.c
index 9079196708b1..1f28d21a3c9a 100644
--- a/drivers/media/platform/soc_camera/mx2_camera.c
+++ b/drivers/media/platform/soc_camera/mx2_camera.c
@@ -469,10 +469,11 @@ static void mx2_camera_clock_stop(struct soc_camera_host *ici)
469 * Videobuf operations 469 * Videobuf operations
470 */ 470 */
471static int mx2_videobuf_setup(struct vb2_queue *vq, 471static int mx2_videobuf_setup(struct vb2_queue *vq,
472 const struct v4l2_format *fmt, 472 const void *parg,
473 unsigned int *count, unsigned int *num_planes, 473 unsigned int *count, unsigned int *num_planes,
474 unsigned int sizes[], void *alloc_ctxs[]) 474 unsigned int sizes[], void *alloc_ctxs[])
475{ 475{
476 const struct v4l2_format *fmt = parg;
476 struct soc_camera_device *icd = soc_camera_from_vb2q(vq); 477 struct soc_camera_device *icd = soc_camera_from_vb2q(vq);
477 struct soc_camera_host *ici = to_soc_camera_host(icd->parent); 478 struct soc_camera_host *ici = to_soc_camera_host(icd->parent);
478 struct mx2_camera_dev *pcdev = ici->priv; 479 struct mx2_camera_dev *pcdev = ici->priv;
diff --git a/drivers/media/platform/soc_camera/mx3_camera.c b/drivers/media/platform/soc_camera/mx3_camera.c
index 5ea4350ffdd6..49c3a257a916 100644
--- a/drivers/media/platform/soc_camera/mx3_camera.c
+++ b/drivers/media/platform/soc_camera/mx3_camera.c
@@ -185,10 +185,11 @@ static void mx3_cam_dma_done(void *arg)
185 * Calculate the __buffer__ (not data) size and number of buffers. 185 * Calculate the __buffer__ (not data) size and number of buffers.
186 */ 186 */
187static int mx3_videobuf_setup(struct vb2_queue *vq, 187static int mx3_videobuf_setup(struct vb2_queue *vq,
188 const struct v4l2_format *fmt, 188 const void *parg,
189 unsigned int *count, unsigned int *num_planes, 189 unsigned int *count, unsigned int *num_planes,
190 unsigned int sizes[], void *alloc_ctxs[]) 190 unsigned int sizes[], void *alloc_ctxs[])
191{ 191{
192 const struct v4l2_format *fmt = parg;
192 struct soc_camera_device *icd = soc_camera_from_vb2q(vq); 193 struct soc_camera_device *icd = soc_camera_from_vb2q(vq);
193 struct soc_camera_host *ici = to_soc_camera_host(icd->parent); 194 struct soc_camera_host *ici = to_soc_camera_host(icd->parent);
194 struct mx3_camera_dev *mx3_cam = ici->priv; 195 struct mx3_camera_dev *mx3_cam = ici->priv;
diff --git a/drivers/media/platform/soc_camera/rcar_vin.c b/drivers/media/platform/soc_camera/rcar_vin.c
index a34d1f968235..efe57b23fac1 100644
--- a/drivers/media/platform/soc_camera/rcar_vin.c
+++ b/drivers/media/platform/soc_camera/rcar_vin.c
@@ -527,11 +527,12 @@ struct rcar_vin_cam {
527 * required 527 * required
528 */ 528 */
529static int rcar_vin_videobuf_setup(struct vb2_queue *vq, 529static int rcar_vin_videobuf_setup(struct vb2_queue *vq,
530 const struct v4l2_format *fmt, 530 const void *parg,
531 unsigned int *count, 531 unsigned int *count,
532 unsigned int *num_planes, 532 unsigned int *num_planes,
533 unsigned int sizes[], void *alloc_ctxs[]) 533 unsigned int sizes[], void *alloc_ctxs[])
534{ 534{
535 const struct v4l2_format *fmt = parg;
535 struct soc_camera_device *icd = soc_camera_from_vb2q(vq); 536 struct soc_camera_device *icd = soc_camera_from_vb2q(vq);
536 struct soc_camera_host *ici = to_soc_camera_host(icd->parent); 537 struct soc_camera_host *ici = to_soc_camera_host(icd->parent);
537 struct rcar_vin_priv *priv = ici->priv; 538 struct rcar_vin_priv *priv = ici->priv;
diff --git a/drivers/media/platform/soc_camera/sh_mobile_ceu_camera.c b/drivers/media/platform/soc_camera/sh_mobile_ceu_camera.c
index 171994298fde..67a669d826b8 100644
--- a/drivers/media/platform/soc_camera/sh_mobile_ceu_camera.c
+++ b/drivers/media/platform/soc_camera/sh_mobile_ceu_camera.c
@@ -210,11 +210,13 @@ static int sh_mobile_ceu_soft_reset(struct sh_mobile_ceu_dev *pcdev)
210 * for the current frame format if required 210 * for the current frame format if required
211 */ 211 */
212static int sh_mobile_ceu_videobuf_setup(struct vb2_queue *vq, 212static int sh_mobile_ceu_videobuf_setup(struct vb2_queue *vq,
213 const struct v4l2_format *fmt, 213 const void *parg,
214 unsigned int *count, unsigned int *num_planes, 214 unsigned int *count, unsigned int *num_planes,
215 unsigned int sizes[], void *alloc_ctxs[]) 215 unsigned int sizes[], void *alloc_ctxs[])
216{ 216{
217 struct soc_camera_device *icd = container_of(vq, struct soc_camera_device, vb2_vidq); 217 const struct v4l2_format *fmt = parg;
218 struct soc_camera_device *icd = container_of(vq,
219 struct soc_camera_device, vb2_vidq);
218 struct soc_camera_host *ici = to_soc_camera_host(icd->parent); 220 struct soc_camera_host *ici = to_soc_camera_host(icd->parent);
219 struct sh_mobile_ceu_dev *pcdev = ici->priv; 221 struct sh_mobile_ceu_dev *pcdev = ici->priv;
220 222
diff --git a/drivers/media/platform/sti/bdisp/bdisp-v4l2.c b/drivers/media/platform/sti/bdisp/bdisp-v4l2.c
index 62b9842aa633..a0d267e017f6 100644
--- a/drivers/media/platform/sti/bdisp/bdisp-v4l2.c
+++ b/drivers/media/platform/sti/bdisp/bdisp-v4l2.c
@@ -438,10 +438,11 @@ static void bdisp_ctrls_delete(struct bdisp_ctx *ctx)
438} 438}
439 439
440static int bdisp_queue_setup(struct vb2_queue *vq, 440static int bdisp_queue_setup(struct vb2_queue *vq,
441 const struct v4l2_format *fmt, 441 const void *parg,
442 unsigned int *nb_buf, unsigned int *nb_planes, 442 unsigned int *nb_buf, unsigned int *nb_planes,
443 unsigned int sizes[], void *allocators[]) 443 unsigned int sizes[], void *allocators[])
444{ 444{
445 const struct v4l2_format *fmt = parg;
445 struct bdisp_ctx *ctx = vb2_get_drv_priv(vq); 446 struct bdisp_ctx *ctx = vb2_get_drv_priv(vq);
446 struct bdisp_frame *frame = ctx_get_frame(ctx, vq->type); 447 struct bdisp_frame *frame = ctx_get_frame(ctx, vq->type);
447 448
diff --git a/drivers/media/platform/ti-vpe/vpe.c b/drivers/media/platform/ti-vpe/vpe.c
index 4902453aeb61..de24effd984f 100644
--- a/drivers/media/platform/ti-vpe/vpe.c
+++ b/drivers/media/platform/ti-vpe/vpe.c
@@ -1796,7 +1796,7 @@ static const struct v4l2_ioctl_ops vpe_ioctl_ops = {
1796 * Queue operations 1796 * Queue operations
1797 */ 1797 */
1798static int vpe_queue_setup(struct vb2_queue *vq, 1798static int vpe_queue_setup(struct vb2_queue *vq,
1799 const struct v4l2_format *fmt, 1799 const void *parg,
1800 unsigned int *nbuffers, unsigned int *nplanes, 1800 unsigned int *nbuffers, unsigned int *nplanes,
1801 unsigned int sizes[], void *alloc_ctxs[]) 1801 unsigned int sizes[], void *alloc_ctxs[])
1802{ 1802{
diff --git a/drivers/media/platform/vim2m.c b/drivers/media/platform/vim2m.c
index 7c3ced045304..e18fb9f9ed2f 100644
--- a/drivers/media/platform/vim2m.c
+++ b/drivers/media/platform/vim2m.c
@@ -710,10 +710,11 @@ static const struct v4l2_ioctl_ops vim2m_ioctl_ops = {
710 */ 710 */
711 711
712static int vim2m_queue_setup(struct vb2_queue *vq, 712static int vim2m_queue_setup(struct vb2_queue *vq,
713 const struct v4l2_format *fmt, 713 const void *parg,
714 unsigned int *nbuffers, unsigned int *nplanes, 714 unsigned int *nbuffers, unsigned int *nplanes,
715 unsigned int sizes[], void *alloc_ctxs[]) 715 unsigned int sizes[], void *alloc_ctxs[])
716{ 716{
717 const struct v4l2_format *fmt = parg;
717 struct vim2m_ctx *ctx = vb2_get_drv_priv(vq); 718 struct vim2m_ctx *ctx = vb2_get_drv_priv(vq);
718 struct vim2m_q_data *q_data; 719 struct vim2m_q_data *q_data;
719 unsigned int size, count = *nbuffers; 720 unsigned int size, count = *nbuffers;
diff --git a/drivers/media/platform/vivid/vivid-sdr-cap.c b/drivers/media/platform/vivid/vivid-sdr-cap.c
index 536a6259b847..082c401764ce 100644
--- a/drivers/media/platform/vivid/vivid-sdr-cap.c
+++ b/drivers/media/platform/vivid/vivid-sdr-cap.c
@@ -213,7 +213,7 @@ static int vivid_thread_sdr_cap(void *data)
213 return 0; 213 return 0;
214} 214}
215 215
216static int sdr_cap_queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, 216static int sdr_cap_queue_setup(struct vb2_queue *vq, const void *parg,
217 unsigned *nbuffers, unsigned *nplanes, 217 unsigned *nbuffers, unsigned *nplanes,
218 unsigned sizes[], void *alloc_ctxs[]) 218 unsigned sizes[], void *alloc_ctxs[])
219{ 219{
diff --git a/drivers/media/platform/vivid/vivid-vbi-cap.c b/drivers/media/platform/vivid/vivid-vbi-cap.c
index 29931497fa0f..e903d023e9df 100644
--- a/drivers/media/platform/vivid/vivid-vbi-cap.c
+++ b/drivers/media/platform/vivid/vivid-vbi-cap.c
@@ -137,10 +137,9 @@ void vivid_sliced_vbi_cap_process(struct vivid_dev *dev,
137 buf->vb.timestamp.tv_sec += dev->time_wrap_offset; 137 buf->vb.timestamp.tv_sec += dev->time_wrap_offset;
138} 138}
139 139
140static int vbi_cap_queue_setup(struct vb2_queue *vq, 140static int vbi_cap_queue_setup(struct vb2_queue *vq, const void *parg,
141 const struct v4l2_format *fmt, 141 unsigned *nbuffers, unsigned *nplanes,
142 unsigned *nbuffers, unsigned *nplanes, 142 unsigned sizes[], void *alloc_ctxs[])
143 unsigned sizes[], void *alloc_ctxs[])
144{ 143{
145 struct vivid_dev *dev = vb2_get_drv_priv(vq); 144 struct vivid_dev *dev = vb2_get_drv_priv(vq);
146 bool is_60hz = dev->std_cap & V4L2_STD_525_60; 145 bool is_60hz = dev->std_cap & V4L2_STD_525_60;
diff --git a/drivers/media/platform/vivid/vivid-vbi-out.c b/drivers/media/platform/vivid/vivid-vbi-out.c
index 91c168841477..75c5709f938e 100644
--- a/drivers/media/platform/vivid/vivid-vbi-out.c
+++ b/drivers/media/platform/vivid/vivid-vbi-out.c
@@ -27,7 +27,7 @@
27#include "vivid-vbi-out.h" 27#include "vivid-vbi-out.h"
28#include "vivid-vbi-cap.h" 28#include "vivid-vbi-cap.h"
29 29
30static int vbi_out_queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, 30static int vbi_out_queue_setup(struct vb2_queue *vq, const void *parg,
31 unsigned *nbuffers, unsigned *nplanes, 31 unsigned *nbuffers, unsigned *nplanes,
32 unsigned sizes[], void *alloc_ctxs[]) 32 unsigned sizes[], void *alloc_ctxs[])
33{ 33{
diff --git a/drivers/media/platform/vivid/vivid-vid-cap.c b/drivers/media/platform/vivid/vivid-vid-cap.c
index 2497107e3b98..ef5412311b2f 100644
--- a/drivers/media/platform/vivid/vivid-vid-cap.c
+++ b/drivers/media/platform/vivid/vivid-vid-cap.c
@@ -95,10 +95,11 @@ static const struct v4l2_discrete_probe webcam_probe = {
95 VIVID_WEBCAM_SIZES 95 VIVID_WEBCAM_SIZES
96}; 96};
97 97
98static int vid_cap_queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, 98static int vid_cap_queue_setup(struct vb2_queue *vq, const void *parg,
99 unsigned *nbuffers, unsigned *nplanes, 99 unsigned *nbuffers, unsigned *nplanes,
100 unsigned sizes[], void *alloc_ctxs[]) 100 unsigned sizes[], void *alloc_ctxs[])
101{ 101{
102 const struct v4l2_format *fmt = parg;
102 struct vivid_dev *dev = vb2_get_drv_priv(vq); 103 struct vivid_dev *dev = vb2_get_drv_priv(vq);
103 unsigned buffers = tpg_g_buffers(&dev->tpg); 104 unsigned buffers = tpg_g_buffers(&dev->tpg);
104 unsigned h = dev->fmt_cap_rect.height; 105 unsigned h = dev->fmt_cap_rect.height;
diff --git a/drivers/media/platform/vivid/vivid-vid-out.c b/drivers/media/platform/vivid/vivid-vid-out.c
index 376f865f90b9..b77acb6a7013 100644
--- a/drivers/media/platform/vivid/vivid-vid-out.c
+++ b/drivers/media/platform/vivid/vivid-vid-out.c
@@ -31,10 +31,11 @@
31#include "vivid-kthread-out.h" 31#include "vivid-kthread-out.h"
32#include "vivid-vid-out.h" 32#include "vivid-vid-out.h"
33 33
34static int vid_out_queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, 34static int vid_out_queue_setup(struct vb2_queue *vq, const void *parg,
35 unsigned *nbuffers, unsigned *nplanes, 35 unsigned *nbuffers, unsigned *nplanes,
36 unsigned sizes[], void *alloc_ctxs[]) 36 unsigned sizes[], void *alloc_ctxs[])
37{ 37{
38 const struct v4l2_format *fmt = parg;
38 struct vivid_dev *dev = vb2_get_drv_priv(vq); 39 struct vivid_dev *dev = vb2_get_drv_priv(vq);
39 const struct vivid_fmt *vfmt = dev->fmt_out; 40 const struct vivid_fmt *vfmt = dev->fmt_out;
40 unsigned planes = vfmt->buffers; 41 unsigned planes = vfmt->buffers;
diff --git a/drivers/media/platform/vsp1/vsp1_video.c b/drivers/media/platform/vsp1/vsp1_video.c
index 13e4fdcd4db0..5ce88e1f5d71 100644
--- a/drivers/media/platform/vsp1/vsp1_video.c
+++ b/drivers/media/platform/vsp1/vsp1_video.c
@@ -787,10 +787,11 @@ void vsp1_pipelines_resume(struct vsp1_device *vsp1)
787 */ 787 */
788 788
789static int 789static int
790vsp1_video_queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, 790vsp1_video_queue_setup(struct vb2_queue *vq, const void *parg,
791 unsigned int *nbuffers, unsigned int *nplanes, 791 unsigned int *nbuffers, unsigned int *nplanes,
792 unsigned int sizes[], void *alloc_ctxs[]) 792 unsigned int sizes[], void *alloc_ctxs[])
793{ 793{
794 const struct v4l2_format *fmt = parg;
794 struct vsp1_video *video = vb2_get_drv_priv(vq); 795 struct vsp1_video *video = vb2_get_drv_priv(vq);
795 const struct v4l2_pix_format_mplane *format; 796 const struct v4l2_pix_format_mplane *format;
796 struct v4l2_pix_format_mplane pix_mp; 797 struct v4l2_pix_format_mplane pix_mp;
diff --git a/drivers/media/platform/xilinx/xilinx-dma.c b/drivers/media/platform/xilinx/xilinx-dma.c
index 5af66c20475b..d11cc7072cd5 100644
--- a/drivers/media/platform/xilinx/xilinx-dma.c
+++ b/drivers/media/platform/xilinx/xilinx-dma.c
@@ -309,10 +309,11 @@ static void xvip_dma_complete(void *param)
309} 309}
310 310
311static int 311static int
312xvip_dma_queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, 312xvip_dma_queue_setup(struct vb2_queue *vq, const void *parg,
313 unsigned int *nbuffers, unsigned int *nplanes, 313 unsigned int *nbuffers, unsigned int *nplanes,
314 unsigned int sizes[], void *alloc_ctxs[]) 314 unsigned int sizes[], void *alloc_ctxs[])
315{ 315{
316 const struct v4l2_format *fmt = parg;
316 struct xvip_dma *dma = vb2_get_drv_priv(vq); 317 struct xvip_dma *dma = vb2_get_drv_priv(vq);
317 318
318 /* Make sure the image size is large enough. */ 319 /* Make sure the image size is large enough. */
diff --git a/drivers/media/usb/airspy/airspy.c b/drivers/media/usb/airspy/airspy.c
index 2542af3b94be..fcbb49757614 100644
--- a/drivers/media/usb/airspy/airspy.c
+++ b/drivers/media/usb/airspy/airspy.c
@@ -488,7 +488,7 @@ static void airspy_disconnect(struct usb_interface *intf)
488 488
489/* Videobuf2 operations */ 489/* Videobuf2 operations */
490static int airspy_queue_setup(struct vb2_queue *vq, 490static int airspy_queue_setup(struct vb2_queue *vq,
491 const struct v4l2_format *fmt, unsigned int *nbuffers, 491 const void *parg, unsigned int *nbuffers,
492 unsigned int *nplanes, unsigned int sizes[], void *alloc_ctxs[]) 492 unsigned int *nplanes, unsigned int sizes[], void *alloc_ctxs[])
493{ 493{
494 struct airspy *s = vb2_get_drv_priv(vq); 494 struct airspy *s = vb2_get_drv_priv(vq);
diff --git a/drivers/media/usb/au0828/au0828-vbi.c b/drivers/media/usb/au0828/au0828-vbi.c
index 5ec507e9e66a..130c8b49bf7f 100644
--- a/drivers/media/usb/au0828/au0828-vbi.c
+++ b/drivers/media/usb/au0828/au0828-vbi.c
@@ -30,10 +30,11 @@
30 30
31/* ------------------------------------------------------------------ */ 31/* ------------------------------------------------------------------ */
32 32
33static int vbi_queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, 33static int vbi_queue_setup(struct vb2_queue *vq, const void *parg,
34 unsigned int *nbuffers, unsigned int *nplanes, 34 unsigned int *nbuffers, unsigned int *nplanes,
35 unsigned int sizes[], void *alloc_ctxs[]) 35 unsigned int sizes[], void *alloc_ctxs[])
36{ 36{
37 const struct v4l2_format *fmt = parg;
37 struct au0828_dev *dev = vb2_get_drv_priv(vq); 38 struct au0828_dev *dev = vb2_get_drv_priv(vq);
38 unsigned long img_size = dev->vbi_width * dev->vbi_height * 2; 39 unsigned long img_size = dev->vbi_width * dev->vbi_height * 2;
39 unsigned long size; 40 unsigned long size;
diff --git a/drivers/media/usb/au0828/au0828-video.c b/drivers/media/usb/au0828/au0828-video.c
index 065b9c8d2a8e..45c622e234f7 100644
--- a/drivers/media/usb/au0828/au0828-video.c
+++ b/drivers/media/usb/au0828/au0828-video.c
@@ -638,10 +638,11 @@ static inline int au0828_isoc_copy(struct au0828_dev *dev, struct urb *urb)
638 return rc; 638 return rc;
639} 639}
640 640
641static int queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, 641static int queue_setup(struct vb2_queue *vq, const void *parg,
642 unsigned int *nbuffers, unsigned int *nplanes, 642 unsigned int *nbuffers, unsigned int *nplanes,
643 unsigned int sizes[], void *alloc_ctxs[]) 643 unsigned int sizes[], void *alloc_ctxs[])
644{ 644{
645 const struct v4l2_format *fmt = parg;
645 struct au0828_dev *dev = vb2_get_drv_priv(vq); 646 struct au0828_dev *dev = vb2_get_drv_priv(vq);
646 unsigned long img_size = dev->height * dev->bytesperline; 647 unsigned long img_size = dev->height * dev->bytesperline;
647 unsigned long size; 648 unsigned long size;
diff --git a/drivers/media/usb/em28xx/em28xx-vbi.c b/drivers/media/usb/em28xx/em28xx-vbi.c
index 23a614810166..e23c285b3108 100644
--- a/drivers/media/usb/em28xx/em28xx-vbi.c
+++ b/drivers/media/usb/em28xx/em28xx-vbi.c
@@ -31,10 +31,11 @@
31 31
32/* ------------------------------------------------------------------ */ 32/* ------------------------------------------------------------------ */
33 33
34static int vbi_queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, 34static int vbi_queue_setup(struct vb2_queue *vq, const void *parg,
35 unsigned int *nbuffers, unsigned int *nplanes, 35 unsigned int *nbuffers, unsigned int *nplanes,
36 unsigned int sizes[], void *alloc_ctxs[]) 36 unsigned int sizes[], void *alloc_ctxs[])
37{ 37{
38 const struct v4l2_format *fmt = parg;
38 struct em28xx *dev = vb2_get_drv_priv(vq); 39 struct em28xx *dev = vb2_get_drv_priv(vq);
39 struct em28xx_v4l2 *v4l2 = dev->v4l2; 40 struct em28xx_v4l2 *v4l2 = dev->v4l2;
40 unsigned long size; 41 unsigned long size;
diff --git a/drivers/media/usb/em28xx/em28xx-video.c b/drivers/media/usb/em28xx/em28xx-video.c
index 262e0325297e..6a3cf342e087 100644
--- a/drivers/media/usb/em28xx/em28xx-video.c
+++ b/drivers/media/usb/em28xx/em28xx-video.c
@@ -871,10 +871,11 @@ static void res_free(struct em28xx *dev, enum v4l2_buf_type f_type)
871 Videobuf2 operations 871 Videobuf2 operations
872 ------------------------------------------------------------------*/ 872 ------------------------------------------------------------------*/
873 873
874static int queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, 874static int queue_setup(struct vb2_queue *vq, const void *parg,
875 unsigned int *nbuffers, unsigned int *nplanes, 875 unsigned int *nbuffers, unsigned int *nplanes,
876 unsigned int sizes[], void *alloc_ctxs[]) 876 unsigned int sizes[], void *alloc_ctxs[])
877{ 877{
878 const struct v4l2_format *fmt = parg;
878 struct em28xx *dev = vb2_get_drv_priv(vq); 879 struct em28xx *dev = vb2_get_drv_priv(vq);
879 struct em28xx_v4l2 *v4l2 = dev->v4l2; 880 struct em28xx_v4l2 *v4l2 = dev->v4l2;
880 unsigned long size; 881 unsigned long size;
diff --git a/drivers/media/usb/go7007/go7007-v4l2.c b/drivers/media/usb/go7007/go7007-v4l2.c
index 63d87a2755ae..f3d187db9368 100644
--- a/drivers/media/usb/go7007/go7007-v4l2.c
+++ b/drivers/media/usb/go7007/go7007-v4l2.c
@@ -369,7 +369,7 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void *priv,
369} 369}
370 370
371static int go7007_queue_setup(struct vb2_queue *q, 371static int go7007_queue_setup(struct vb2_queue *q,
372 const struct v4l2_format *fmt, 372 const void *parg,
373 unsigned int *num_buffers, unsigned int *num_planes, 373 unsigned int *num_buffers, unsigned int *num_planes,
374 unsigned int sizes[], void *alloc_ctxs[]) 374 unsigned int sizes[], void *alloc_ctxs[])
375{ 375{
diff --git a/drivers/media/usb/hackrf/hackrf.c b/drivers/media/usb/hackrf/hackrf.c
index e1d4d16ade05..1d93db39f66a 100644
--- a/drivers/media/usb/hackrf/hackrf.c
+++ b/drivers/media/usb/hackrf/hackrf.c
@@ -466,7 +466,7 @@ static void hackrf_disconnect(struct usb_interface *intf)
466 466
467/* Videobuf2 operations */ 467/* Videobuf2 operations */
468static int hackrf_queue_setup(struct vb2_queue *vq, 468static int hackrf_queue_setup(struct vb2_queue *vq,
469 const struct v4l2_format *fmt, unsigned int *nbuffers, 469 const void *parg, unsigned int *nbuffers,
470 unsigned int *nplanes, unsigned int sizes[], void *alloc_ctxs[]) 470 unsigned int *nplanes, unsigned int sizes[], void *alloc_ctxs[])
471{ 471{
472 struct hackrf_dev *dev = vb2_get_drv_priv(vq); 472 struct hackrf_dev *dev = vb2_get_drv_priv(vq);
diff --git a/drivers/media/usb/msi2500/msi2500.c b/drivers/media/usb/msi2500/msi2500.c
index 26a76e0fe3d8..e06a21a4fbd9 100644
--- a/drivers/media/usb/msi2500/msi2500.c
+++ b/drivers/media/usb/msi2500/msi2500.c
@@ -616,7 +616,7 @@ static int msi2500_querycap(struct file *file, void *fh,
616 616
617/* Videobuf2 operations */ 617/* Videobuf2 operations */
618static int msi2500_queue_setup(struct vb2_queue *vq, 618static int msi2500_queue_setup(struct vb2_queue *vq,
619 const struct v4l2_format *fmt, 619 const void *parg,
620 unsigned int *nbuffers, 620 unsigned int *nbuffers,
621 unsigned int *nplanes, unsigned int sizes[], 621 unsigned int *nplanes, unsigned int sizes[],
622 void *alloc_ctxs[]) 622 void *alloc_ctxs[])
diff --git a/drivers/media/usb/pwc/pwc-if.c b/drivers/media/usb/pwc/pwc-if.c
index 3f5395a7fafe..b79c36fd8cd2 100644
--- a/drivers/media/usb/pwc/pwc-if.c
+++ b/drivers/media/usb/pwc/pwc-if.c
@@ -571,7 +571,7 @@ static void pwc_video_release(struct v4l2_device *v)
571/***************************************************************************/ 571/***************************************************************************/
572/* Videobuf2 operations */ 572/* Videobuf2 operations */
573 573
574static int queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, 574static int queue_setup(struct vb2_queue *vq, const void *parg,
575 unsigned int *nbuffers, unsigned int *nplanes, 575 unsigned int *nbuffers, unsigned int *nplanes,
576 unsigned int sizes[], void *alloc_ctxs[]) 576 unsigned int sizes[], void *alloc_ctxs[])
577{ 577{
diff --git a/drivers/media/usb/s2255/s2255drv.c b/drivers/media/usb/s2255/s2255drv.c
index 32b511510f0d..e7acb12ad21d 100644
--- a/drivers/media/usb/s2255/s2255drv.c
+++ b/drivers/media/usb/s2255/s2255drv.c
@@ -660,7 +660,7 @@ static void s2255_fillbuff(struct s2255_vc *vc,
660 Videobuf operations 660 Videobuf operations
661 ------------------------------------------------------------------*/ 661 ------------------------------------------------------------------*/
662 662
663static int queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, 663static int queue_setup(struct vb2_queue *vq, const void *parg,
664 unsigned int *nbuffers, unsigned int *nplanes, 664 unsigned int *nbuffers, unsigned int *nplanes,
665 unsigned int sizes[], void *alloc_ctxs[]) 665 unsigned int sizes[], void *alloc_ctxs[])
666{ 666{
diff --git a/drivers/media/usb/stk1160/stk1160-v4l.c b/drivers/media/usb/stk1160/stk1160-v4l.c
index 10e35e6479ad..0bd34f1e7fa9 100644
--- a/drivers/media/usb/stk1160/stk1160-v4l.c
+++ b/drivers/media/usb/stk1160/stk1160-v4l.c
@@ -664,7 +664,7 @@ static const struct v4l2_ioctl_ops stk1160_ioctl_ops = {
664/* 664/*
665 * Videobuf2 operations 665 * Videobuf2 operations
666 */ 666 */
667static int queue_setup(struct vb2_queue *vq, const struct v4l2_format *v4l_fmt, 667static int queue_setup(struct vb2_queue *vq, const void *parg,
668 unsigned int *nbuffers, unsigned int *nplanes, 668 unsigned int *nbuffers, unsigned int *nplanes,
669 unsigned int sizes[], void *alloc_ctxs[]) 669 unsigned int sizes[], void *alloc_ctxs[])
670{ 670{
diff --git a/drivers/media/usb/usbtv/usbtv-video.c b/drivers/media/usb/usbtv/usbtv-video.c
index ce5d5028e4c2..e645c9df2d94 100644
--- a/drivers/media/usb/usbtv/usbtv-video.c
+++ b/drivers/media/usb/usbtv/usbtv-video.c
@@ -599,9 +599,10 @@ static struct v4l2_file_operations usbtv_fops = {
599}; 599};
600 600
601static int usbtv_queue_setup(struct vb2_queue *vq, 601static int usbtv_queue_setup(struct vb2_queue *vq,
602 const struct v4l2_format *fmt, unsigned int *nbuffers, 602 const void *parg, unsigned int *nbuffers,
603 unsigned int *nplanes, unsigned int sizes[], void *alloc_ctxs[]) 603 unsigned int *nplanes, unsigned int sizes[], void *alloc_ctxs[])
604{ 604{
605 const struct v4l2_format *fmt = parg;
605 struct usbtv *usbtv = vb2_get_drv_priv(vq); 606 struct usbtv *usbtv = vb2_get_drv_priv(vq);
606 unsigned size = USBTV_CHUNK * usbtv->n_chunks * 2 * sizeof(u32); 607 unsigned size = USBTV_CHUNK * usbtv->n_chunks * 2 * sizeof(u32);
607 608
diff --git a/drivers/media/usb/uvc/uvc_queue.c b/drivers/media/usb/uvc/uvc_queue.c
index b49bcab0c38c..cfb868a48b5f 100644
--- a/drivers/media/usb/uvc/uvc_queue.c
+++ b/drivers/media/usb/uvc/uvc_queue.c
@@ -69,10 +69,11 @@ static void uvc_queue_return_buffers(struct uvc_video_queue *queue,
69 * videobuf2 queue operations 69 * videobuf2 queue operations
70 */ 70 */
71 71
72static int uvc_queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, 72static int uvc_queue_setup(struct vb2_queue *vq, const void *parg,
73 unsigned int *nbuffers, unsigned int *nplanes, 73 unsigned int *nbuffers, unsigned int *nplanes,
74 unsigned int sizes[], void *alloc_ctxs[]) 74 unsigned int sizes[], void *alloc_ctxs[])
75{ 75{
76 const struct v4l2_format *fmt = parg;
76 struct uvc_video_queue *queue = vb2_get_drv_priv(vq); 77 struct uvc_video_queue *queue = vb2_get_drv_priv(vq);
77 struct uvc_streaming *stream = uvc_queue_to_stream(queue); 78 struct uvc_streaming *stream = uvc_queue_to_stream(queue);
78 79
diff --git a/drivers/staging/media/davinci_vpfe/vpfe_video.c b/drivers/staging/media/davinci_vpfe/vpfe_video.c
index fbcc1c3e91d5..0fdff91624fd 100644
--- a/drivers/staging/media/davinci_vpfe/vpfe_video.c
+++ b/drivers/staging/media/davinci_vpfe/vpfe_video.c
@@ -1078,7 +1078,7 @@ vpfe_g_dv_timings(struct file *file, void *fh,
1078 * the buffer nbuffers and buffer size 1078 * the buffer nbuffers and buffer size
1079 */ 1079 */
1080static int 1080static int
1081vpfe_buffer_queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, 1081vpfe_buffer_queue_setup(struct vb2_queue *vq, const void *parg,
1082 unsigned int *nbuffers, unsigned int *nplanes, 1082 unsigned int *nbuffers, unsigned int *nplanes,
1083 unsigned int sizes[], void *alloc_ctxs[]) 1083 unsigned int sizes[], void *alloc_ctxs[])
1084{ 1084{
diff --git a/drivers/staging/media/omap4iss/iss_video.c b/drivers/staging/media/omap4iss/iss_video.c
index 72b4ca8934f8..28c067decc27 100644
--- a/drivers/staging/media/omap4iss/iss_video.c
+++ b/drivers/staging/media/omap4iss/iss_video.c
@@ -288,7 +288,7 @@ iss_video_check_format(struct iss_video *video, struct iss_video_fh *vfh)
288 */ 288 */
289 289
290static int iss_video_queue_setup(struct vb2_queue *vq, 290static int iss_video_queue_setup(struct vb2_queue *vq,
291 const struct v4l2_format *fmt, 291 const void *parg,
292 unsigned int *count, unsigned int *num_planes, 292 unsigned int *count, unsigned int *num_planes,
293 unsigned int sizes[], void *alloc_ctxs[]) 293 unsigned int sizes[], void *alloc_ctxs[])
294{ 294{
diff --git a/drivers/usb/gadget/function/uvc_queue.c b/drivers/usb/gadget/function/uvc_queue.c
index 3628938785ac..51d4a1703af2 100644
--- a/drivers/usb/gadget/function/uvc_queue.c
+++ b/drivers/usb/gadget/function/uvc_queue.c
@@ -41,7 +41,7 @@
41 * videobuf2 queue operations 41 * videobuf2 queue operations
42 */ 42 */
43 43
44static int uvc_queue_setup(struct vb2_queue *vq, const struct v4l2_format *fmt, 44static int uvc_queue_setup(struct vb2_queue *vq, const void *parg,
45 unsigned int *nbuffers, unsigned int *nplanes, 45 unsigned int *nbuffers, unsigned int *nplanes,
46 unsigned int sizes[], void *alloc_ctxs[]) 46 unsigned int sizes[], void *alloc_ctxs[])
47{ 47{
diff --git a/include/media/videobuf2-core.h b/include/media/videobuf2-core.h
index af9a5d177fca..dce6463d035e 100644
--- a/include/media/videobuf2-core.h
+++ b/include/media/videobuf2-core.h
@@ -335,7 +335,7 @@ struct vb2_buffer {
335 * pre-queued buffers before calling STREAMON. 335 * pre-queued buffers before calling STREAMON.
336 */ 336 */
337struct vb2_ops { 337struct vb2_ops {
338 int (*queue_setup)(struct vb2_queue *q, const struct v4l2_format *fmt, 338 int (*queue_setup)(struct vb2_queue *q, const void *parg,
339 unsigned int *num_buffers, unsigned int *num_planes, 339 unsigned int *num_buffers, unsigned int *num_planes,
340 unsigned int sizes[], void *alloc_ctxs[]); 340 unsigned int sizes[], void *alloc_ctxs[]);
341 341