Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[media] vb2: replace void *alloc_ctxs by struct device *alloc_devs

Make this a proper typed array. Drop the old allocate context code since
that is no longer used.

Note that the memops functions now get a struct device pointer instead of
the struct device ** that was there initially (actually a void pointer to
a struct containing only a struct device pointer).

This code is now a lot cleaner.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>

authored by

Hans Verkuil and committed by
Mauro Carvalho Chehab
36c0f8b3 2548fee6

+128 -208
+1 -1
drivers/input/touchscreen/sur40.c
··· 645 645 */ 646 646 static int sur40_queue_setup(struct vb2_queue *q, 647 647 unsigned int *nbuffers, unsigned int *nplanes, 648 - unsigned int sizes[], void *alloc_ctxs[]) 648 + unsigned int sizes[], struct device *alloc_devs[]) 649 649 { 650 650 if (q->num_buffers + *nbuffers < 3) 651 651 *nbuffers = 3 - q->num_buffers;
+1 -1
drivers/media/dvb-frontends/rtl2832_sdr.c
··· 452 452 /* Videobuf2 operations */ 453 453 static int rtl2832_sdr_queue_setup(struct vb2_queue *vq, 454 454 unsigned int *nbuffers, 455 - unsigned int *nplanes, unsigned int sizes[], void *alloc_ctxs[]) 455 + unsigned int *nplanes, unsigned int sizes[], struct device *alloc_devs[]) 456 456 { 457 457 struct rtl2832_sdr_dev *dev = vb2_get_drv_priv(vq); 458 458 struct platform_device *pdev = dev->pdev;
+1 -1
drivers/media/pci/cobalt/cobalt-v4l2.c
··· 45 45 46 46 static int cobalt_queue_setup(struct vb2_queue *q, 47 47 unsigned int *num_buffers, unsigned int *num_planes, 48 - unsigned int sizes[], void *alloc_ctxs[]) 48 + unsigned int sizes[], struct device *alloc_devs[]) 49 49 { 50 50 struct cobalt_stream *s = q->drv_priv; 51 51 unsigned size = s->stride * s->height;
+1 -1
drivers/media/pci/cx23885/cx23885-417.c
··· 1140 1140 1141 1141 static int queue_setup(struct vb2_queue *q, 1142 1142 unsigned int *num_buffers, unsigned int *num_planes, 1143 - unsigned int sizes[], void *alloc_ctxs[]) 1143 + unsigned int sizes[], struct device *alloc_devs[]) 1144 1144 { 1145 1145 struct cx23885_dev *dev = q->drv_priv; 1146 1146
+1 -1
drivers/media/pci/cx23885/cx23885-dvb.c
··· 94 94 95 95 static int queue_setup(struct vb2_queue *q, 96 96 unsigned int *num_buffers, unsigned int *num_planes, 97 - unsigned int sizes[], void *alloc_ctxs[]) 97 + unsigned int sizes[], struct device *alloc_devs[]) 98 98 { 99 99 struct cx23885_tsport *port = q->drv_priv; 100 100
+1 -1
drivers/media/pci/cx23885/cx23885-vbi.c
··· 122 122 123 123 static int queue_setup(struct vb2_queue *q, 124 124 unsigned int *num_buffers, unsigned int *num_planes, 125 - unsigned int sizes[], void *alloc_ctxs[]) 125 + unsigned int sizes[], struct device *alloc_devs[]) 126 126 { 127 127 struct cx23885_dev *dev = q->drv_priv; 128 128 unsigned lines = VBI_PAL_LINE_COUNT;
+1 -1
drivers/media/pci/cx23885/cx23885-video.c
··· 335 335 336 336 static int queue_setup(struct vb2_queue *q, 337 337 unsigned int *num_buffers, unsigned int *num_planes, 338 - unsigned int sizes[], void *alloc_ctxs[]) 338 + unsigned int sizes[], struct device *alloc_devs[]) 339 339 { 340 340 struct cx23885_dev *dev = q->drv_priv; 341 341
+1 -1
drivers/media/pci/cx25821/cx25821-video.c
··· 143 143 144 144 static int cx25821_queue_setup(struct vb2_queue *q, 145 145 unsigned int *num_buffers, unsigned int *num_planes, 146 - unsigned int sizes[], void *alloc_ctxs[]) 146 + unsigned int sizes[], struct device *alloc_devs[]) 147 147 { 148 148 struct cx25821_channel *chan = q->drv_priv; 149 149 unsigned size = (chan->fmt->depth * chan->width * chan->height) >> 3;
+1 -1
drivers/media/pci/cx88/cx88-blackbird.c
··· 639 639 640 640 static int queue_setup(struct vb2_queue *q, 641 641 unsigned int *num_buffers, unsigned int *num_planes, 642 - unsigned int sizes[], void *alloc_ctxs[]) 642 + unsigned int sizes[], struct device *alloc_devs[]) 643 643 { 644 644 struct cx8802_dev *dev = q->drv_priv; 645 645
+1 -1
drivers/media/pci/cx88/cx88-dvb.c
··· 84 84 85 85 static int queue_setup(struct vb2_queue *q, 86 86 unsigned int *num_buffers, unsigned int *num_planes, 87 - unsigned int sizes[], void *alloc_ctxs[]) 87 + unsigned int sizes[], struct device *alloc_devs[]) 88 88 { 89 89 struct cx8802_dev *dev = q->drv_priv; 90 90
+1 -1
drivers/media/pci/cx88/cx88-vbi.c
··· 109 109 110 110 static int queue_setup(struct vb2_queue *q, 111 111 unsigned int *num_buffers, unsigned int *num_planes, 112 - unsigned int sizes[], void *alloc_ctxs[]) 112 + unsigned int sizes[], struct device *alloc_devs[]) 113 113 { 114 114 struct cx8800_dev *dev = q->drv_priv; 115 115
+1 -1
drivers/media/pci/cx88/cx88-video.c
··· 431 431 432 432 static int queue_setup(struct vb2_queue *q, 433 433 unsigned int *num_buffers, unsigned int *num_planes, 434 - unsigned int sizes[], void *alloc_ctxs[]) 434 + unsigned int sizes[], struct device *alloc_devs[]) 435 435 { 436 436 struct cx8800_dev *dev = q->drv_priv; 437 437 struct cx88_core *core = dev->core;
+1 -1
drivers/media/pci/dt3155/dt3155.c
··· 133 133 static int 134 134 dt3155_queue_setup(struct vb2_queue *vq, 135 135 unsigned int *nbuffers, unsigned int *num_planes, 136 - unsigned int sizes[], void *alloc_ctxs[]) 136 + unsigned int sizes[], struct device *alloc_devs[]) 137 137 138 138 { 139 139 struct dt3155_priv *pd = vb2_get_drv_priv(vq);
+1 -1
drivers/media/pci/netup_unidvb/netup_unidvb_core.c
··· 293 293 unsigned int *nbuffers, 294 294 unsigned int *nplanes, 295 295 unsigned int sizes[], 296 - void *alloc_ctxs[]) 296 + struct device *alloc_devs[]) 297 297 { 298 298 struct netup_dma *dma = vb2_get_drv_priv(vq); 299 299
+1 -1
drivers/media/pci/saa7134/saa7134-ts.c
··· 118 118 119 119 int saa7134_ts_queue_setup(struct vb2_queue *q, 120 120 unsigned int *nbuffers, unsigned int *nplanes, 121 - unsigned int sizes[], void *alloc_ctxs[]) 121 + unsigned int sizes[], struct device *alloc_devs[]) 122 122 { 123 123 struct saa7134_dmaqueue *dmaq = q->drv_priv; 124 124 struct saa7134_dev *dev = dmaq->dev;
+1 -1
drivers/media/pci/saa7134/saa7134-vbi.c
··· 140 140 141 141 static int queue_setup(struct vb2_queue *q, 142 142 unsigned int *nbuffers, unsigned int *nplanes, 143 - unsigned int sizes[], void *alloc_ctxs[]) 143 + unsigned int sizes[], struct device *alloc_devs[]) 144 144 { 145 145 struct saa7134_dmaqueue *dmaq = q->drv_priv; 146 146 struct saa7134_dev *dev = dmaq->dev;
+1 -1
drivers/media/pci/saa7134/saa7134-video.c
··· 963 963 964 964 static int queue_setup(struct vb2_queue *q, 965 965 unsigned int *nbuffers, unsigned int *nplanes, 966 - unsigned int sizes[], void *alloc_ctxs[]) 966 + unsigned int sizes[], struct device *alloc_devs[]) 967 967 { 968 968 struct saa7134_dmaqueue *dmaq = q->drv_priv; 969 969 struct saa7134_dev *dev = dmaq->dev;
+1 -1
drivers/media/pci/saa7134/saa7134.h
··· 853 853 int saa7134_ts_buffer_prepare(struct vb2_buffer *vb2); 854 854 int saa7134_ts_queue_setup(struct vb2_queue *q, 855 855 unsigned int *nbuffers, unsigned int *nplanes, 856 - unsigned int sizes[], void *alloc_ctxs[]); 856 + unsigned int sizes[], struct device *alloc_devs[]); 857 857 int saa7134_ts_start_streaming(struct vb2_queue *vq, unsigned int count); 858 858 void saa7134_ts_stop_streaming(struct vb2_queue *vq); 859 859
+1 -1
drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c
··· 664 664 static int solo_enc_queue_setup(struct vb2_queue *q, 665 665 unsigned int *num_buffers, 666 666 unsigned int *num_planes, unsigned int sizes[], 667 - void *alloc_ctxs[]) 667 + struct device *alloc_devs[]) 668 668 { 669 669 sizes[0] = FRAME_BUF_SIZE; 670 670 *num_planes = 1;
+1 -1
drivers/media/pci/solo6x10/solo6x10-v4l2.c
··· 315 315 316 316 static int solo_queue_setup(struct vb2_queue *q, 317 317 unsigned int *num_buffers, unsigned int *num_planes, 318 - unsigned int sizes[], void *alloc_ctxs[]) 318 + unsigned int sizes[], struct device *alloc_devs[]) 319 319 { 320 320 struct solo_dev *solo_dev = vb2_get_drv_priv(q); 321 321
+1 -1
drivers/media/pci/sta2x11/sta2x11_vip.c
··· 265 265 /* Videobuf2 Operations */ 266 266 static int queue_setup(struct vb2_queue *vq, 267 267 unsigned int *nbuffers, unsigned int *nplanes, 268 - unsigned int sizes[], void *alloc_ctxs[]) 268 + unsigned int sizes[], struct device *alloc_devs[]) 269 269 { 270 270 struct sta2x11_vip *vip = vb2_get_drv_priv(vq); 271 271
+1 -1
drivers/media/pci/tw68/tw68-video.c
··· 378 378 379 379 static int tw68_queue_setup(struct vb2_queue *q, 380 380 unsigned int *num_buffers, unsigned int *num_planes, 381 - unsigned int sizes[], void *alloc_ctxs[]) 381 + unsigned int sizes[], struct device *alloc_devs[]) 382 382 { 383 383 struct tw68_dev *dev = vb2_get_drv_priv(q); 384 384 unsigned tot_bufs = q->num_buffers + *num_buffers;
+1 -1
drivers/media/pci/tw686x/tw686x-video.c
··· 401 401 402 402 static int tw686x_queue_setup(struct vb2_queue *vq, 403 403 unsigned int *nbuffers, unsigned int *nplanes, 404 - unsigned int sizes[], void *alloc_ctxs[]) 404 + unsigned int sizes[], struct device *alloc_devs[]) 405 405 { 406 406 struct tw686x_video_channel *vc = vb2_get_drv_priv(vq); 407 407 unsigned int szimage =
+2 -2
drivers/media/platform/am437x/am437x-vpfe.c
··· 1901 1901 * @nbuffers: ptr to number of buffers requested by application 1902 1902 * @nplanes:: contains number of distinct video planes needed to hold a frame 1903 1903 * @sizes[]: contains the size (in bytes) of each plane. 1904 - * @alloc_ctxs: ptr to allocation context 1904 + * @alloc_devs: ptr to allocation context 1905 1905 * 1906 1906 * This callback function is called when reqbuf() is called to adjust 1907 1907 * the buffer count and buffer size 1908 1908 */ 1909 1909 static int vpfe_queue_setup(struct vb2_queue *vq, 1910 1910 unsigned int *nbuffers, unsigned int *nplanes, 1911 - unsigned int sizes[], void *alloc_ctxs[]) 1911 + unsigned int sizes[], struct device *alloc_devs[]) 1912 1912 { 1913 1913 struct vpfe_device *vpfe = vb2_get_drv_priv(vq); 1914 1914 unsigned size = vpfe->fmt.fmt.pix.sizeimage;
+1 -1
drivers/media/platform/blackfin/bfin_capture.c
··· 201 201 202 202 static int bcap_queue_setup(struct vb2_queue *vq, 203 203 unsigned int *nbuffers, unsigned int *nplanes, 204 - unsigned int sizes[], void *alloc_ctxs[]) 204 + unsigned int sizes[], struct device *alloc_devs[]) 205 205 { 206 206 struct bcap_device *bcap_dev = vb2_get_drv_priv(vq); 207 207
+1 -1
drivers/media/platform/coda/coda-common.c
··· 1139 1139 */ 1140 1140 static int coda_queue_setup(struct vb2_queue *vq, 1141 1141 unsigned int *nbuffers, unsigned int *nplanes, 1142 - unsigned int sizes[], void *alloc_ctxs[]) 1142 + unsigned int sizes[], struct device *alloc_devs[]) 1143 1143 { 1144 1144 struct coda_ctx *ctx = vb2_get_drv_priv(vq); 1145 1145 struct coda_q_data *q_data;
+1 -1
drivers/media/platform/davinci/vpbe_display.c
··· 230 230 static int 231 231 vpbe_buffer_queue_setup(struct vb2_queue *vq, 232 232 unsigned int *nbuffers, unsigned int *nplanes, 233 - unsigned int sizes[], void *alloc_ctxs[]) 233 + unsigned int sizes[], struct device *alloc_devs[]) 234 234 235 235 { 236 236 /* Get the file handle object and layer object */
+2 -2
drivers/media/platform/davinci/vpif_capture.c
··· 107 107 * @nbuffers: ptr to number of buffers requested by application 108 108 * @nplanes:: contains number of distinct video planes needed to hold a frame 109 109 * @sizes[]: contains the size (in bytes) of each plane. 110 - * @alloc_ctxs: ptr to allocation context 110 + * @alloc_devs: ptr to allocation context 111 111 * 112 112 * This callback function is called when reqbuf() is called to adjust 113 113 * the buffer count and buffer size 114 114 */ 115 115 static int vpif_buffer_queue_setup(struct vb2_queue *vq, 116 116 unsigned int *nbuffers, unsigned int *nplanes, 117 - unsigned int sizes[], void *alloc_ctxs[]) 117 + unsigned int sizes[], struct device *alloc_devs[]) 118 118 { 119 119 struct channel_obj *ch = vb2_get_drv_priv(vq); 120 120 struct common_obj *common = &ch->common[VPIF_VIDEO_INDEX];
+2 -2
drivers/media/platform/davinci/vpif_display.c
··· 102 102 * @nbuffers: ptr to number of buffers requested by application 103 103 * @nplanes:: contains number of distinct video planes needed to hold a frame 104 104 * @sizes[]: contains the size (in bytes) of each plane. 105 - * @alloc_ctxs: ptr to allocation context 105 + * @alloc_devs: ptr to allocation context 106 106 * 107 107 * This callback function is called when reqbuf() is called to adjust 108 108 * the buffer count and buffer size 109 109 */ 110 110 static int vpif_buffer_queue_setup(struct vb2_queue *vq, 111 111 unsigned int *nbuffers, unsigned int *nplanes, 112 - unsigned int sizes[], void *alloc_ctxs[]) 112 + unsigned int sizes[], struct device *alloc_devs[]) 113 113 { 114 114 struct channel_obj *ch = vb2_get_drv_priv(vq); 115 115 struct common_obj *common = &ch->common[VPIF_VIDEO_INDEX];
-1
drivers/media/platform/exynos-gsc/gsc-core.h
··· 327 327 * @irq_queue: interrupt handler waitqueue 328 328 * @m2m: memory-to-memory V4L2 device information 329 329 * @state: flags used to synchronize m2m and capture mode operation 330 - * @alloc_ctx: videobuf2 memory allocator context 331 330 * @vdev: video device for G-Scaler instance 332 331 */ 333 332 struct gsc_dev {
+1 -1
drivers/media/platform/exynos-gsc/gsc-m2m.c
··· 213 213 214 214 static int gsc_m2m_queue_setup(struct vb2_queue *vq, 215 215 unsigned int *num_buffers, unsigned int *num_planes, 216 - unsigned int sizes[], void *allocators[]) 216 + unsigned int sizes[], struct device *alloc_devs[]) 217 217 { 218 218 struct gsc_ctx *ctx = vb2_get_drv_priv(vq); 219 219 struct gsc_frame *frame;
+1 -1
drivers/media/platform/exynos4-is/fimc-capture.c
··· 340 340 341 341 static int queue_setup(struct vb2_queue *vq, 342 342 unsigned int *num_buffers, unsigned int *num_planes, 343 - unsigned int sizes[], void *allocators[]) 343 + unsigned int sizes[], struct device *alloc_devs[]) 344 344 { 345 345 struct fimc_ctx *ctx = vq->drv_priv; 346 346 struct fimc_frame *frame = &ctx->d_frame;
+1 -1
drivers/media/platform/exynos4-is/fimc-isp-video.c
··· 40 40 41 41 static int isp_video_capture_queue_setup(struct vb2_queue *vq, 42 42 unsigned int *num_buffers, unsigned int *num_planes, 43 - unsigned int sizes[], void *allocators[]) 43 + unsigned int sizes[], struct device *alloc_devs[]) 44 44 { 45 45 struct fimc_isp *isp = vb2_get_drv_priv(vq); 46 46 struct v4l2_pix_format_mplane *vid_fmt = &isp->video_capture.pixfmt;
+1 -1
drivers/media/platform/exynos4-is/fimc-lite.c
··· 357 357 358 358 static int queue_setup(struct vb2_queue *vq, 359 359 unsigned int *num_buffers, unsigned int *num_planes, 360 - unsigned int sizes[], void *allocators[]) 360 + unsigned int sizes[], struct device *alloc_devs[]) 361 361 { 362 362 struct fimc_lite *fimc = vq->drv_priv; 363 363 struct flite_frame *frame = &fimc->out_frame;
+1 -1
drivers/media/platform/exynos4-is/fimc-m2m.c
··· 174 174 175 175 static int fimc_queue_setup(struct vb2_queue *vq, 176 176 unsigned int *num_buffers, unsigned int *num_planes, 177 - unsigned int sizes[], void *allocators[]) 177 + unsigned int sizes[], struct device *alloc_devs[]) 178 178 { 179 179 struct fimc_ctx *ctx = vb2_get_drv_priv(vq); 180 180 struct fimc_frame *f;
+1 -1
drivers/media/platform/m2m-deinterlace.c
··· 798 798 799 799 static int deinterlace_queue_setup(struct vb2_queue *vq, 800 800 unsigned int *nbuffers, unsigned int *nplanes, 801 - unsigned int sizes[], void *alloc_ctxs[]) 801 + unsigned int sizes[], struct device *alloc_devs[]) 802 802 { 803 803 struct deinterlace_ctx *ctx = vb2_get_drv_priv(vq); 804 804 struct deinterlace_q_data *q_data;
+1 -1
drivers/media/platform/marvell-ccic/mcam-core.c
··· 1051 1051 static int mcam_vb_queue_setup(struct vb2_queue *vq, 1052 1052 unsigned int *nbufs, 1053 1053 unsigned int *num_planes, unsigned int sizes[], 1054 - void *alloc_ctxs[]) 1054 + struct device *alloc_devs[]) 1055 1055 { 1056 1056 struct mcam_camera *cam = vb2_get_drv_priv(vq); 1057 1057 int minbufs = (cam->buffer_mode == B_DMA_contig) ? 3 : 2;
+1 -1
drivers/media/platform/mx2_emmaprp.c
··· 689 689 */ 690 690 static int emmaprp_queue_setup(struct vb2_queue *vq, 691 691 unsigned int *nbuffers, unsigned int *nplanes, 692 - unsigned int sizes[], void *alloc_ctxs[]) 692 + unsigned int sizes[], struct device *alloc_devs[]) 693 693 { 694 694 struct emmaprp_ctx *ctx = vb2_get_drv_priv(vq); 695 695 struct emmaprp_q_data *q_data;
+1 -1
drivers/media/platform/omap3isp/ispvideo.c
··· 331 331 332 332 static int isp_video_queue_setup(struct vb2_queue *queue, 333 333 unsigned int *count, unsigned int *num_planes, 334 - unsigned int sizes[], void *alloc_ctxs[]) 334 + unsigned int sizes[], struct device *alloc_devs[]) 335 335 { 336 336 struct isp_video_fh *vfh = vb2_get_drv_priv(queue); 337 337 struct isp_video *video = vfh->video;
+1 -1
drivers/media/platform/rcar-vin/rcar-dma.c
··· 974 974 975 975 static int rvin_queue_setup(struct vb2_queue *vq, unsigned int *nbuffers, 976 976 unsigned int *nplanes, unsigned int sizes[], 977 - void *alloc_ctxs[]) 977 + struct device *alloc_devs[]) 978 978 979 979 { 980 980 struct rvin_dev *vin = vb2_get_drv_priv(vq);
+1 -1
drivers/media/platform/rcar_jpu.c
··· 1014 1014 */ 1015 1015 static int jpu_queue_setup(struct vb2_queue *vq, 1016 1016 unsigned int *nbuffers, unsigned int *nplanes, 1017 - unsigned int sizes[], void *alloc_ctxs[]) 1017 + unsigned int sizes[], struct device *alloc_devs[]) 1018 1018 { 1019 1019 struct jpu_ctx *ctx = vb2_get_drv_priv(vq); 1020 1020 struct jpu_q_data *q_data;
+1 -1
drivers/media/platform/s3c-camif/camif-capture.c
··· 437 437 438 438 static int queue_setup(struct vb2_queue *vq, 439 439 unsigned int *num_buffers, unsigned int *num_planes, 440 - unsigned int sizes[], void *allocators[]) 440 + unsigned int sizes[], struct device *alloc_devs[]) 441 441 { 442 442 struct camif_vp *vp = vb2_get_drv_priv(vq); 443 443 struct camif_frame *frame = &vp->out_frame;
+1 -1
drivers/media/platform/s5p-g2d/g2d.c
··· 103 103 104 104 static int g2d_queue_setup(struct vb2_queue *vq, 105 105 unsigned int *nbuffers, unsigned int *nplanes, 106 - unsigned int sizes[], void *alloc_ctxs[]) 106 + unsigned int sizes[], struct device *alloc_devs[]) 107 107 { 108 108 struct g2d_ctx *ctx = vb2_get_drv_priv(vq); 109 109 struct g2d_frame *f = get_frame(ctx, vq->type);
+1 -1
drivers/media/platform/s5p-jpeg/jpeg-core.c
··· 2436 2436 2437 2437 static int s5p_jpeg_queue_setup(struct vb2_queue *vq, 2438 2438 unsigned int *nbuffers, unsigned int *nplanes, 2439 - unsigned int sizes[], void *alloc_ctxs[]) 2439 + unsigned int sizes[], struct device *alloc_devs[]) 2440 2440 { 2441 2441 struct s5p_jpeg_ctx *ctx = vb2_get_drv_priv(vq); 2442 2442 struct s5p_jpeg_q_data *q_data = NULL;
+5 -5
drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
··· 890 890 static int s5p_mfc_queue_setup(struct vb2_queue *vq, 891 891 unsigned int *buf_count, 892 892 unsigned int *plane_count, unsigned int psize[], 893 - void *allocators[]) 893 + struct device *alloc_devs[]) 894 894 { 895 895 struct s5p_mfc_ctx *ctx = fh_to_ctx(vq->drv_priv); 896 896 struct s5p_mfc_dev *dev = ctx->dev; ··· 931 931 psize[1] = ctx->chroma_size; 932 932 933 933 if (IS_MFCV6_PLUS(dev)) 934 - allocators[0] = &ctx->dev->mem_dev_l; 934 + alloc_devs[0] = ctx->dev->mem_dev_l; 935 935 else 936 - allocators[0] = &ctx->dev->mem_dev_r; 937 - allocators[1] = &ctx->dev->mem_dev_l; 936 + alloc_devs[0] = ctx->dev->mem_dev_r; 937 + alloc_devs[1] = ctx->dev->mem_dev_l; 938 938 } else if (vq->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE && 939 939 ctx->state == MFCINST_INIT) { 940 940 psize[0] = ctx->dec_src_buf_size; 941 - allocators[0] = &ctx->dev->mem_dev_l; 941 + alloc_devs[0] = ctx->dev->mem_dev_l; 942 942 } else { 943 943 mfc_err("This video node is dedicated to decoding. Decoding not initialized\n"); 944 944 return -EINVAL;
+6 -6
drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
··· 1812 1812 1813 1813 static int s5p_mfc_queue_setup(struct vb2_queue *vq, 1814 1814 unsigned int *buf_count, unsigned int *plane_count, 1815 - unsigned int psize[], void *allocators[]) 1815 + unsigned int psize[], struct device *alloc_devs[]) 1816 1816 { 1817 1817 struct s5p_mfc_ctx *ctx = fh_to_ctx(vq->drv_priv); 1818 1818 struct s5p_mfc_dev *dev = ctx->dev; ··· 1832 1832 if (*buf_count > MFC_MAX_BUFFERS) 1833 1833 *buf_count = MFC_MAX_BUFFERS; 1834 1834 psize[0] = ctx->enc_dst_buf_size; 1835 - allocators[0] = &ctx->dev->mem_dev_l; 1835 + alloc_devs[0] = ctx->dev->mem_dev_l; 1836 1836 } else if (vq->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) { 1837 1837 if (ctx->src_fmt) 1838 1838 *plane_count = ctx->src_fmt->num_planes; ··· 1848 1848 psize[1] = ctx->chroma_size; 1849 1849 1850 1850 if (IS_MFCV6_PLUS(dev)) { 1851 - allocators[0] = &ctx->dev->mem_dev_l; 1852 - allocators[1] = &ctx->dev->mem_dev_l; 1851 + alloc_devs[0] = ctx->dev->mem_dev_l; 1852 + alloc_devs[1] = ctx->dev->mem_dev_l; 1853 1853 } else { 1854 - allocators[0] = &ctx->dev->mem_dev_r; 1855 - allocators[1] = &ctx->dev->mem_dev_r; 1854 + alloc_devs[0] = ctx->dev->mem_dev_r; 1855 + alloc_devs[1] = ctx->dev->mem_dev_r; 1856 1856 } 1857 1857 } else { 1858 1858 mfc_err("invalid queue type: %d\n", vq->type);
+1 -1
drivers/media/platform/s5p-tv/mixer_video.c
··· 874 874 875 875 static int queue_setup(struct vb2_queue *vq, 876 876 unsigned int *nbuffers, unsigned int *nplanes, unsigned int sizes[], 877 - void *alloc_ctxs[]) 877 + struct device *alloc_devs[]) 878 878 { 879 879 struct mxr_layer *layer = vb2_get_drv_priv(vq); 880 880 const struct mxr_format *fmt = layer->fmt;
+1 -1
drivers/media/platform/sh_veu.c
··· 865 865 866 866 static int sh_veu_queue_setup(struct vb2_queue *vq, 867 867 unsigned int *nbuffers, unsigned int *nplanes, 868 - unsigned int sizes[], void *alloc_ctxs[]) 868 + unsigned int sizes[], struct device *alloc_devs[]) 869 869 { 870 870 struct sh_veu_dev *veu = vb2_get_drv_priv(vq); 871 871 struct sh_veu_vfmt *vfmt = sh_veu_get_vfmt(veu, vq->type);
+1 -1
drivers/media/platform/sh_vou.c
··· 244 244 /* Locking: caller holds fop_lock mutex */ 245 245 static int sh_vou_queue_setup(struct vb2_queue *vq, 246 246 unsigned int *nbuffers, unsigned int *nplanes, 247 - unsigned int sizes[], void *alloc_ctxs[]) 247 + unsigned int sizes[], struct device *alloc_devs[]) 248 248 { 249 249 struct sh_vou_device *vou_dev = vb2_get_drv_priv(vq); 250 250 struct v4l2_pix_format *pix = &vou_dev->pix;
+1 -1
drivers/media/platform/soc_camera/atmel-isi.c
··· 303 303 ------------------------------------------------------------------*/ 304 304 static int queue_setup(struct vb2_queue *vq, 305 305 unsigned int *nbuffers, unsigned int *nplanes, 306 - unsigned int sizes[], void *alloc_ctxs[]) 306 + unsigned int sizes[], struct device *alloc_devs[]) 307 307 { 308 308 struct soc_camera_device *icd = soc_camera_from_vb2q(vq); 309 309 struct soc_camera_host *ici = to_soc_camera_host(icd->parent);
+1 -1
drivers/media/platform/soc_camera/rcar_vin.c
··· 533 533 static int rcar_vin_videobuf_setup(struct vb2_queue *vq, 534 534 unsigned int *count, 535 535 unsigned int *num_planes, 536 - unsigned int sizes[], void *alloc_ctxs[]) 536 + unsigned int sizes[], struct device *alloc_devs[]) 537 537 { 538 538 struct soc_camera_device *icd = soc_camera_from_vb2q(vq); 539 539 struct soc_camera_host *ici = to_soc_camera_host(icd->parent);
+1 -1
drivers/media/platform/soc_camera/sh_mobile_ceu_camera.c
··· 210 210 */ 211 211 static int sh_mobile_ceu_videobuf_setup(struct vb2_queue *vq, 212 212 unsigned int *count, unsigned int *num_planes, 213 - unsigned int sizes[], void *alloc_ctxs[]) 213 + unsigned int sizes[], struct device *alloc_devs[]) 214 214 { 215 215 struct soc_camera_device *icd = soc_camera_from_vb2q(vq); 216 216 struct soc_camera_host *ici = to_soc_camera_host(icd->parent);
+1 -1
drivers/media/platform/sti/bdisp/bdisp-v4l2.c
··· 439 439 440 440 static int bdisp_queue_setup(struct vb2_queue *vq, 441 441 unsigned int *nb_buf, unsigned int *nb_planes, 442 - unsigned int sizes[], void *alloc_ctxs[]) 442 + unsigned int sizes[], struct device *alloc_devs[]) 443 443 { 444 444 struct bdisp_ctx *ctx = vb2_get_drv_priv(vq); 445 445 struct bdisp_frame *frame = ctx_get_frame(ctx, vq->type);
+1 -1
drivers/media/platform/ti-vpe/cal.c
··· 1225 1225 */ 1226 1226 static int cal_queue_setup(struct vb2_queue *vq, 1227 1227 unsigned int *nbuffers, unsigned int *nplanes, 1228 - unsigned int sizes[], void *alloc_ctxs[]) 1228 + unsigned int sizes[], struct device *alloc_devs[]) 1229 1229 { 1230 1230 struct cal_ctx *ctx = vb2_get_drv_priv(vq); 1231 1231 unsigned size = ctx->v_fmt.fmt.pix.sizeimage;
+1 -1
drivers/media/platform/ti-vpe/vpe.c
··· 1796 1796 */ 1797 1797 static int vpe_queue_setup(struct vb2_queue *vq, 1798 1798 unsigned int *nbuffers, unsigned int *nplanes, 1799 - unsigned int sizes[], void *alloc_ctxs[]) 1799 + unsigned int sizes[], struct device *alloc_devs[]) 1800 1800 { 1801 1801 int i; 1802 1802 struct vpe_ctx *ctx = vb2_get_drv_priv(vq);
+1 -6
drivers/media/platform/vim2m.c
··· 711 711 712 712 static int vim2m_queue_setup(struct vb2_queue *vq, 713 713 unsigned int *nbuffers, unsigned int *nplanes, 714 - unsigned int sizes[], void *alloc_ctxs[]) 714 + unsigned int sizes[], struct device *alloc_devs[]) 715 715 { 716 716 struct vim2m_ctx *ctx = vb2_get_drv_priv(vq); 717 717 struct vim2m_q_data *q_data; ··· 730 730 731 731 *nplanes = 1; 732 732 sizes[0] = size; 733 - 734 - /* 735 - * videobuf2-vmalloc allocator is context-less so no need to set 736 - * alloc_ctxs array. 737 - */ 738 733 739 734 dprintk(ctx->dev, "get %d buffer(s) of size %d each.\n", count, size); 740 735
+1 -1
drivers/media/platform/vivid/vivid-sdr-cap.c
··· 213 213 214 214 static int sdr_cap_queue_setup(struct vb2_queue *vq, 215 215 unsigned *nbuffers, unsigned *nplanes, 216 - unsigned sizes[], void *alloc_ctxs[]) 216 + unsigned sizes[], struct device *alloc_devs[]) 217 217 { 218 218 /* 2 = max 16-bit sample returned */ 219 219 sizes[0] = SDR_CAP_SAMPLES_PER_BUF * 2;
+1 -1
drivers/media/platform/vivid/vivid-vbi-cap.c
··· 137 137 138 138 static int vbi_cap_queue_setup(struct vb2_queue *vq, 139 139 unsigned *nbuffers, unsigned *nplanes, 140 - unsigned sizes[], void *alloc_ctxs[]) 140 + unsigned sizes[], struct device *alloc_devs[]) 141 141 { 142 142 struct vivid_dev *dev = vb2_get_drv_priv(vq); 143 143 bool is_60hz = dev->std_cap & V4L2_STD_525_60;
+1 -1
drivers/media/platform/vivid/vivid-vbi-out.c
··· 29 29 30 30 static int vbi_out_queue_setup(struct vb2_queue *vq, 31 31 unsigned *nbuffers, unsigned *nplanes, 32 - unsigned sizes[], void *alloc_ctxs[]) 32 + unsigned sizes[], struct device *alloc_devs[]) 33 33 { 34 34 struct vivid_dev *dev = vb2_get_drv_priv(vq); 35 35 bool is_60hz = dev->std_out & V4L2_STD_525_60;
+1 -6
drivers/media/platform/vivid/vivid-vid-cap.c
··· 97 97 98 98 static int vid_cap_queue_setup(struct vb2_queue *vq, 99 99 unsigned *nbuffers, unsigned *nplanes, 100 - unsigned sizes[], void *alloc_ctxs[]) 100 + unsigned sizes[], struct device *alloc_devs[]) 101 101 { 102 102 struct vivid_dev *dev = vb2_get_drv_priv(vq); 103 103 unsigned buffers = tpg_g_buffers(&dev->tpg); ··· 143 143 *nbuffers = 2 - vq->num_buffers; 144 144 145 145 *nplanes = buffers; 146 - 147 - /* 148 - * videobuf2-vmalloc allocator is context-less so no need to set 149 - * alloc_ctxs array. 150 - */ 151 146 152 147 dprintk(dev, 1, "%s: count=%d\n", __func__, *nbuffers); 153 148 for (p = 0; p < buffers; p++)
+1 -6
drivers/media/platform/vivid/vivid-vid-out.c
··· 34 34 35 35 static int vid_out_queue_setup(struct vb2_queue *vq, 36 36 unsigned *nbuffers, unsigned *nplanes, 37 - unsigned sizes[], void *alloc_ctxs[]) 37 + unsigned sizes[], struct device *alloc_devs[]) 38 38 { 39 39 struct vivid_dev *dev = vb2_get_drv_priv(vq); 40 40 const struct vivid_fmt *vfmt = dev->fmt_out; ··· 86 86 *nbuffers = 2 - vq->num_buffers; 87 87 88 88 *nplanes = planes; 89 - 90 - /* 91 - * videobuf2-vmalloc allocator is context-less so no need to set 92 - * alloc_ctxs array. 93 - */ 94 89 95 90 dprintk(dev, 1, "%s: count=%d\n", __func__, *nbuffers); 96 91 for (p = 0; p < planes; p++)
+3 -5
drivers/media/platform/vsp1/vsp1_video.c
··· 519 519 520 520 static int 521 521 vsp1_video_queue_setup(struct vb2_queue *vq, 522 - unsigned int *nbuffers, unsigned int *nplanes, 523 - unsigned int sizes[], void *alloc_ctxs[]) 522 + unsigned int *nbuffers, unsigned int *nplanes, 523 + unsigned int sizes[], struct device *alloc_devs[]) 524 524 { 525 525 struct vsp1_video *video = vb2_get_drv_priv(vq); 526 526 const struct v4l2_pix_format_mplane *format = &video->rwpf->format; ··· 530 530 if (*nplanes != format->num_planes) 531 531 return -EINVAL; 532 532 533 - for (i = 0; i < *nplanes; i++) { 533 + for (i = 0; i < *nplanes; i++) 534 534 if (sizes[i] < format->plane_fmt[i].sizeimage) 535 535 return -EINVAL; 536 - } 537 536 return 0; 538 537 } 539 538 ··· 978 979 979 980 video_set_drvdata(&video->video, video); 980 981 981 - /* ... and the buffers queue... */ 982 982 video->queue.type = video->type; 983 983 video->queue.io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF; 984 984 video->queue.lock = &video->lock;
+1 -1
drivers/media/platform/xilinx/xilinx-dma.c
··· 318 318 static int 319 319 xvip_dma_queue_setup(struct vb2_queue *vq, 320 320 unsigned int *nbuffers, unsigned int *nplanes, 321 - unsigned int sizes[], void *alloc_ctxs[]) 321 + unsigned int sizes[], struct device *alloc_devs[]) 322 322 { 323 323 struct xvip_dma *dma = vb2_get_drv_priv(vq); 324 324
+1 -1
drivers/media/usb/airspy/airspy.c
··· 488 488 /* Videobuf2 operations */ 489 489 static int airspy_queue_setup(struct vb2_queue *vq, 490 490 unsigned int *nbuffers, 491 - unsigned int *nplanes, unsigned int sizes[], void *alloc_ctxs[]) 491 + unsigned int *nplanes, unsigned int sizes[], struct device *alloc_devs[]) 492 492 { 493 493 struct airspy *s = vb2_get_drv_priv(vq); 494 494
+1 -1
drivers/media/usb/au0828/au0828-vbi.c
··· 32 32 33 33 static int vbi_queue_setup(struct vb2_queue *vq, 34 34 unsigned int *nbuffers, unsigned int *nplanes, 35 - unsigned int sizes[], void *alloc_ctxs[]) 35 + unsigned int sizes[], struct device *alloc_devs[]) 36 36 { 37 37 struct au0828_dev *dev = vb2_get_drv_priv(vq); 38 38 unsigned long size = dev->vbi_width * dev->vbi_height * 2;
+1 -1
drivers/media/usb/au0828/au0828-video.c
··· 698 698 699 699 static int queue_setup(struct vb2_queue *vq, 700 700 unsigned int *nbuffers, unsigned int *nplanes, 701 - unsigned int sizes[], void *alloc_ctxs[]) 701 + unsigned int sizes[], struct device *alloc_devs[]) 702 702 { 703 703 struct au0828_dev *dev = vb2_get_drv_priv(vq); 704 704 unsigned long size = dev->height * dev->bytesperline;
+1 -1
drivers/media/usb/em28xx/em28xx-vbi.c
··· 33 33 34 34 static int vbi_queue_setup(struct vb2_queue *vq, 35 35 unsigned int *nbuffers, unsigned int *nplanes, 36 - unsigned int sizes[], void *alloc_ctxs[]) 36 + unsigned int sizes[], struct device *alloc_devs[]) 37 37 { 38 38 struct em28xx *dev = vb2_get_drv_priv(vq); 39 39 struct em28xx_v4l2 *v4l2 = dev->v4l2;
+1 -1
drivers/media/usb/em28xx/em28xx-video.c
··· 1013 1013 1014 1014 static int queue_setup(struct vb2_queue *vq, 1015 1015 unsigned int *nbuffers, unsigned int *nplanes, 1016 - unsigned int sizes[], void *alloc_ctxs[]) 1016 + unsigned int sizes[], struct device *alloc_devs[]) 1017 1017 { 1018 1018 struct em28xx *dev = vb2_get_drv_priv(vq); 1019 1019 struct em28xx_v4l2 *v4l2 = dev->v4l2;
+1 -1
drivers/media/usb/go7007/go7007-v4l2.c
··· 370 370 371 371 static int go7007_queue_setup(struct vb2_queue *q, 372 372 unsigned int *num_buffers, unsigned int *num_planes, 373 - unsigned int sizes[], void *alloc_ctxs[]) 373 + unsigned int sizes[], struct device *alloc_devs[]) 374 374 { 375 375 sizes[0] = GO7007_BUF_SIZE; 376 376 *num_planes = 1;
+1 -1
drivers/media/usb/hackrf/hackrf.c
··· 760 760 761 761 static int hackrf_queue_setup(struct vb2_queue *vq, 762 762 unsigned int *nbuffers, 763 - unsigned int *nplanes, unsigned int sizes[], void *alloc_ctxs[]) 763 + unsigned int *nplanes, unsigned int sizes[], struct device *alloc_devs[]) 764 764 { 765 765 struct hackrf_dev *dev = vb2_get_drv_priv(vq); 766 766
+1 -1
drivers/media/usb/msi2500/msi2500.c
··· 618 618 static int msi2500_queue_setup(struct vb2_queue *vq, 619 619 unsigned int *nbuffers, 620 620 unsigned int *nplanes, unsigned int sizes[], 621 - void *alloc_ctxs[]) 621 + struct device *alloc_devs[]) 622 622 { 623 623 struct msi2500_dev *dev = vb2_get_drv_priv(vq); 624 624
+1 -1
drivers/media/usb/pwc/pwc-if.c
··· 573 573 574 574 static int queue_setup(struct vb2_queue *vq, 575 575 unsigned int *nbuffers, unsigned int *nplanes, 576 - unsigned int sizes[], void *alloc_ctxs[]) 576 + unsigned int sizes[], struct device *alloc_devs[]) 577 577 { 578 578 struct pwc_device *pdev = vb2_get_drv_priv(vq); 579 579 int size;
+1 -1
drivers/media/usb/s2255/s2255drv.c
··· 662 662 663 663 static int queue_setup(struct vb2_queue *vq, 664 664 unsigned int *nbuffers, unsigned int *nplanes, 665 - unsigned int sizes[], void *alloc_ctxs[]) 665 + unsigned int sizes[], struct device *alloc_devs[]) 666 666 { 667 667 struct s2255_vc *vc = vb2_get_drv_priv(vq); 668 668 if (*nbuffers < S2255_MIN_BUFS)
+1 -1
drivers/media/usb/stk1160/stk1160-v4l.c
··· 666 666 */ 667 667 static int queue_setup(struct vb2_queue *vq, 668 668 unsigned int *nbuffers, unsigned int *nplanes, 669 - unsigned int sizes[], void *alloc_ctxs[]) 669 + unsigned int sizes[], struct device *alloc_devs[]) 670 670 { 671 671 struct stk1160 *dev = vb2_get_drv_priv(vq); 672 672 unsigned long size;
+1 -1
drivers/media/usb/usbtv/usbtv-video.c
··· 608 608 609 609 static int usbtv_queue_setup(struct vb2_queue *vq, 610 610 unsigned int *nbuffers, 611 - unsigned int *nplanes, unsigned int sizes[], void *alloc_ctxs[]) 611 + unsigned int *nplanes, unsigned int sizes[], struct device *alloc_devs[]) 612 612 { 613 613 struct usbtv *usbtv = vb2_get_drv_priv(vq); 614 614 unsigned size = USBTV_CHUNK * usbtv->n_chunks * 2 * sizeof(u32);
+1 -1
drivers/media/usb/uvc/uvc_queue.c
··· 71 71 72 72 static int uvc_queue_setup(struct vb2_queue *vq, 73 73 unsigned int *nbuffers, unsigned int *nplanes, 74 - unsigned int sizes[], void *alloc_ctxs[]) 74 + unsigned int sizes[], struct device *alloc_devs[]) 75 75 { 76 76 struct uvc_video_queue *queue = vb2_get_drv_priv(vq); 77 77 struct uvc_streaming *stream = uvc_queue_to_stream(queue);
+9 -9
drivers/media/v4l2-core/videobuf2-core.c
··· 207 207 unsigned long size = PAGE_ALIGN(vb->planes[plane].length); 208 208 209 209 mem_priv = call_ptr_memop(vb, alloc, 210 - q->alloc_ctx[plane] ? : &q->dev, 210 + q->alloc_devs[plane] ? : q->dev, 211 211 q->dma_attrs, size, dma_dir, q->gfp_flags); 212 212 if (IS_ERR_OR_NULL(mem_priv)) 213 213 goto free; ··· 738 738 */ 739 739 num_buffers = min_t(unsigned int, *count, VB2_MAX_FRAME); 740 740 num_buffers = max_t(unsigned int, num_buffers, q->min_buffers_needed); 741 - memset(q->alloc_ctx, 0, sizeof(q->alloc_ctx)); 741 + memset(q->alloc_devs, 0, sizeof(q->alloc_devs)); 742 742 q->memory = memory; 743 743 744 744 /* ··· 746 746 * Driver also sets the size and allocator context for each plane. 747 747 */ 748 748 ret = call_qop(q, queue_setup, q, &num_buffers, &num_planes, 749 - plane_sizes, q->alloc_ctx); 749 + plane_sizes, q->alloc_devs); 750 750 if (ret) 751 751 return ret; 752 752 ··· 779 779 num_planes = 0; 780 780 781 781 ret = call_qop(q, queue_setup, q, &num_buffers, 782 - &num_planes, plane_sizes, q->alloc_ctx); 782 + &num_planes, plane_sizes, q->alloc_devs); 783 783 784 784 if (!ret && allocated_buffers < num_buffers) 785 785 ret = -ENOMEM; ··· 845 845 } 846 846 847 847 if (!q->num_buffers) { 848 - memset(q->alloc_ctx, 0, sizeof(q->alloc_ctx)); 848 + memset(q->alloc_devs, 0, sizeof(q->alloc_devs)); 849 849 q->memory = memory; 850 850 q->waiting_for_buffers = !q->is_output; 851 851 } ··· 862 862 * buffer and their sizes are acceptable 863 863 */ 864 864 ret = call_qop(q, queue_setup, q, &num_buffers, 865 - &num_planes, plane_sizes, q->alloc_ctx); 865 + &num_planes, plane_sizes, q->alloc_devs); 866 866 if (ret) 867 867 return ret; 868 868 ··· 885 885 * queue driver has set up 886 886 */ 887 887 ret = call_qop(q, queue_setup, q, &num_buffers, 888 - &num_planes, plane_sizes, q->alloc_ctx); 888 + &num_planes, plane_sizes, q->alloc_devs); 889 889 890 890 if (!ret && allocated_buffers < num_buffers) 891 891 ret = -ENOMEM; ··· 1133 1133 1134 1134 /* Acquire each plane's memory */ 1135 1135 mem_priv = call_ptr_memop(vb, get_userptr, 1136 - q->alloc_ctx[plane] ? : &q->dev, 1136 + q->alloc_devs[plane] ? : q->dev, 1137 1137 planes[plane].m.userptr, 1138 1138 planes[plane].length, dma_dir); 1139 1139 if (IS_ERR_OR_NULL(mem_priv)) { ··· 1258 1258 1259 1259 /* Acquire each plane's memory */ 1260 1260 mem_priv = call_ptr_memop(vb, attach_dmabuf, 1261 - q->alloc_ctx[plane] ? : &q->dev, 1261 + q->alloc_devs[plane] ? : q->dev, 1262 1262 dbuf, planes[plane].length, dma_dir); 1263 1263 if (IS_ERR(mem_priv)) { 1264 1264 dprintk(1, "failed to attach dmabuf\n");
+5 -34
drivers/media/v4l2-core/videobuf2-dma-contig.c
··· 21 21 #include <media/videobuf2-dma-contig.h> 22 22 #include <media/videobuf2-memops.h> 23 23 24 - struct vb2_dc_conf { 25 - struct device *dev; 26 - }; 27 - 28 24 struct vb2_dc_buf { 29 25 struct device *dev; 30 26 void *vaddr; ··· 135 139 kfree(buf); 136 140 } 137 141 138 - static void *vb2_dc_alloc(void *alloc_ctx, const struct dma_attrs *attrs, 142 + static void *vb2_dc_alloc(struct device *dev, const struct dma_attrs *attrs, 139 143 unsigned long size, enum dma_data_direction dma_dir, 140 144 gfp_t gfp_flags) 141 145 { 142 - struct vb2_dc_conf *conf = alloc_ctx; 143 - struct device *dev = conf->dev; 144 146 struct vb2_dc_buf *buf; 145 147 146 148 buf = kzalloc(sizeof *buf, GFP_KERNEL); ··· 473 479 } 474 480 #endif 475 481 476 - static void *vb2_dc_get_userptr(void *alloc_ctx, unsigned long vaddr, 482 + static void *vb2_dc_get_userptr(struct device *dev, unsigned long vaddr, 477 483 unsigned long size, enum dma_data_direction dma_dir) 478 484 { 479 - struct vb2_dc_conf *conf = alloc_ctx; 480 485 struct vb2_dc_buf *buf; 481 486 struct frame_vector *vec; 482 487 unsigned long offset; ··· 503 510 if (!buf) 504 511 return ERR_PTR(-ENOMEM); 505 512 506 - buf->dev = conf->dev; 513 + buf->dev = dev; 507 514 buf->dma_dir = dma_dir; 508 515 509 516 offset = vaddr & ~PAGE_MASK; ··· 670 677 kfree(buf); 671 678 } 672 679 673 - static void *vb2_dc_attach_dmabuf(void *alloc_ctx, struct dma_buf *dbuf, 680 + static void *vb2_dc_attach_dmabuf(struct device *dev, struct dma_buf *dbuf, 674 681 unsigned long size, enum dma_data_direction dma_dir) 675 682 { 676 - struct vb2_dc_conf *conf = alloc_ctx; 677 683 struct vb2_dc_buf *buf; 678 684 struct dma_buf_attachment *dba; 679 685 ··· 683 691 if (!buf) 684 692 return ERR_PTR(-ENOMEM); 685 693 686 - buf->dev = conf->dev; 694 + buf->dev = dev; 687 695 /* create attachment for the dmabuf with the user device */ 688 696 dba = dma_buf_attach(dbuf, buf->dev); 689 697 if (IS_ERR(dba)) { ··· 721 729 .num_users = vb2_dc_num_users, 722 730 }; 723 731 EXPORT_SYMBOL_GPL(vb2_dma_contig_memops); 724 - 725 - void *vb2_dma_contig_init_ctx(struct device *dev) 726 - { 727 - struct vb2_dc_conf *conf; 728 - 729 - conf = kzalloc(sizeof *conf, GFP_KERNEL); 730 - if (!conf) 731 - return ERR_PTR(-ENOMEM); 732 - 733 - conf->dev = dev; 734 - 735 - return conf; 736 - } 737 - EXPORT_SYMBOL_GPL(vb2_dma_contig_init_ctx); 738 - 739 - void vb2_dma_contig_cleanup_ctx(void *alloc_ctx) 740 - { 741 - if (!IS_ERR_OR_NULL(alloc_ctx)) 742 - kfree(alloc_ctx); 743 - } 744 - EXPORT_SYMBOL_GPL(vb2_dma_contig_cleanup_ctx); 745 732 746 733 /** 747 734 * vb2_dma_contig_set_max_seg_size() - configure DMA max segment size
+7 -35
drivers/media/v4l2-core/videobuf2-dma-sg.c
··· 30 30 printk(KERN_DEBUG "vb2-dma-sg: " fmt, ## arg); \ 31 31 } while (0) 32 32 33 - struct vb2_dma_sg_conf { 34 - struct device *dev; 35 - }; 36 - 37 33 struct vb2_dma_sg_buf { 38 34 struct device *dev; 39 35 void *vaddr; ··· 95 99 return 0; 96 100 } 97 101 98 - static void *vb2_dma_sg_alloc(void *alloc_ctx, const struct dma_attrs *dma_attrs, 102 + static void *vb2_dma_sg_alloc(struct device *dev, const struct dma_attrs *dma_attrs, 99 103 unsigned long size, enum dma_data_direction dma_dir, 100 104 gfp_t gfp_flags) 101 105 { 102 - struct vb2_dma_sg_conf *conf = alloc_ctx; 103 106 struct vb2_dma_sg_buf *buf; 104 107 struct sg_table *sgt; 105 108 int ret; ··· 107 112 108 113 dma_set_attr(DMA_ATTR_SKIP_CPU_SYNC, &attrs); 109 114 110 - if (WARN_ON(alloc_ctx == NULL)) 115 + if (WARN_ON(dev == NULL)) 111 116 return NULL; 112 117 buf = kzalloc(sizeof *buf, GFP_KERNEL); 113 118 if (!buf) ··· 136 141 goto fail_table_alloc; 137 142 138 143 /* Prevent the device from being released while the buffer is used */ 139 - buf->dev = get_device(conf->dev); 144 + buf->dev = get_device(dev); 140 145 141 146 sgt = &buf->sg_table; 142 147 /* ··· 222 227 dma_sync_sg_for_cpu(buf->dev, sgt->sgl, sgt->orig_nents, buf->dma_dir); 223 228 } 224 229 225 - static void *vb2_dma_sg_get_userptr(void *alloc_ctx, unsigned long vaddr, 230 + static void *vb2_dma_sg_get_userptr(struct device *dev, unsigned long vaddr, 226 231 unsigned long size, 227 232 enum dma_data_direction dma_dir) 228 233 { 229 - struct vb2_dma_sg_conf *conf = alloc_ctx; 230 234 struct vb2_dma_sg_buf *buf; 231 235 struct sg_table *sgt; 232 236 DEFINE_DMA_ATTRS(attrs); ··· 237 243 return NULL; 238 244 239 245 buf->vaddr = NULL; 240 - buf->dev = conf->dev; 246 + buf->dev = dev; 241 247 buf->dma_dir = dma_dir; 242 248 buf->offset = vaddr & ~PAGE_MASK; 243 249 buf->size = size; ··· 611 617 kfree(buf); 612 618 } 613 619 614 - static void *vb2_dma_sg_attach_dmabuf(void *alloc_ctx, struct dma_buf *dbuf, 620 + static void *vb2_dma_sg_attach_dmabuf(struct device *dev, struct dma_buf *dbuf, 615 621 unsigned long size, enum dma_data_direction dma_dir) 616 622 { 617 - struct vb2_dma_sg_conf *conf = alloc_ctx; 618 623 struct vb2_dma_sg_buf *buf; 619 624 struct dma_buf_attachment *dba; 620 625 ··· 624 631 if (!buf) 625 632 return ERR_PTR(-ENOMEM); 626 633 627 - buf->dev = conf->dev; 634 + buf->dev = dev; 628 635 /* create attachment for the dmabuf with the user device */ 629 636 dba = dma_buf_attach(dbuf, buf->dev); 630 637 if (IS_ERR(dba)) { ··· 665 672 .cookie = vb2_dma_sg_cookie, 666 673 }; 667 674 EXPORT_SYMBOL_GPL(vb2_dma_sg_memops); 668 - 669 - void *vb2_dma_sg_init_ctx(struct device *dev) 670 - { 671 - struct vb2_dma_sg_conf *conf; 672 - 673 - conf = kzalloc(sizeof(*conf), GFP_KERNEL); 674 - if (!conf) 675 - return ERR_PTR(-ENOMEM); 676 - 677 - conf->dev = dev; 678 - 679 - return conf; 680 - } 681 - EXPORT_SYMBOL_GPL(vb2_dma_sg_init_ctx); 682 - 683 - void vb2_dma_sg_cleanup_ctx(void *alloc_ctx) 684 - { 685 - if (!IS_ERR_OR_NULL(alloc_ctx)) 686 - kfree(alloc_ctx); 687 - } 688 - EXPORT_SYMBOL_GPL(vb2_dma_sg_cleanup_ctx); 689 675 690 676 MODULE_DESCRIPTION("dma scatter/gather memory handling routines for videobuf2"); 691 677 MODULE_AUTHOR("Andrzej Pietrasiewicz");
+3 -3
drivers/media/v4l2-core/videobuf2-vmalloc.c
··· 33 33 34 34 static void vb2_vmalloc_put(void *buf_priv); 35 35 36 - static void *vb2_vmalloc_alloc(void *alloc_ctx, const struct dma_attrs *attrs, 36 + static void *vb2_vmalloc_alloc(struct device *dev, const struct dma_attrs *attrs, 37 37 unsigned long size, enum dma_data_direction dma_dir, 38 38 gfp_t gfp_flags) 39 39 { ··· 70 70 } 71 71 } 72 72 73 - static void *vb2_vmalloc_get_userptr(void *alloc_ctx, unsigned long vaddr, 73 + static void *vb2_vmalloc_get_userptr(struct device *dev, unsigned long vaddr, 74 74 unsigned long size, 75 75 enum dma_data_direction dma_dir) 76 76 { ··· 404 404 kfree(buf); 405 405 } 406 406 407 - static void *vb2_vmalloc_attach_dmabuf(void *alloc_ctx, struct dma_buf *dbuf, 407 + static void *vb2_vmalloc_attach_dmabuf(struct device *dev, struct dma_buf *dbuf, 408 408 unsigned long size, enum dma_data_direction dma_dir) 409 409 { 410 410 struct vb2_vmalloc_buf *buf;
+2 -2
drivers/staging/media/davinci_vpfe/vpfe_video.c
··· 1091 1091 * @nbuffers: ptr to number of buffers requested by application 1092 1092 * @nplanes:: contains number of distinct video planes needed to hold a frame 1093 1093 * @sizes[]: contains the size (in bytes) of each plane. 1094 - * @alloc_ctxs: ptr to allocation context 1094 + * @alloc_devs: ptr to allocation context 1095 1095 * 1096 1096 * This callback function is called when reqbuf() is called to adjust 1097 1097 * the buffer nbuffers and buffer size ··· 1099 1099 static int 1100 1100 vpfe_buffer_queue_setup(struct vb2_queue *vq, 1101 1101 unsigned int *nbuffers, unsigned int *nplanes, 1102 - unsigned int sizes[], void *alloc_ctxs[]) 1102 + unsigned int sizes[], struct device *alloc_devs[]) 1103 1103 { 1104 1104 struct vpfe_fh *fh = vb2_get_drv_priv(vq); 1105 1105 struct vpfe_video_device *video = fh->video;
+1 -1
drivers/staging/media/omap4iss/iss_video.c
··· 298 298 299 299 static int iss_video_queue_setup(struct vb2_queue *vq, 300 300 unsigned int *count, unsigned int *num_planes, 301 - unsigned int sizes[], void *alloc_ctxs[]) 301 + unsigned int sizes[], struct device *alloc_devs[]) 302 302 { 303 303 struct iss_video_fh *vfh = vb2_get_drv_priv(vq); 304 304 struct iss_video *video = vfh->video;
+1 -1
drivers/staging/media/tw686x-kh/tw686x-kh-video.c
··· 130 130 131 131 static int tw686x_queue_setup(struct vb2_queue *vq, unsigned int *nbuffers, 132 132 unsigned int *nplanes, unsigned int sizes[], 133 - void *alloc_ctxs[]) 133 + struct device *alloc_devs[]) 134 134 { 135 135 struct tw686x_video_channel *vc = vb2_get_drv_priv(vq); 136 136 unsigned int size = vc->width * vc->height * vc->format->depth / 8;
+1 -1
drivers/usb/gadget/function/uvc_queue.c
··· 43 43 44 44 static int uvc_queue_setup(struct vb2_queue *vq, 45 45 unsigned int *nbuffers, unsigned int *nplanes, 46 - unsigned int sizes[], void *alloc_ctxs[]) 46 + unsigned int sizes[], struct device *alloc_devs[]) 47 47 { 48 48 struct uvc_video_queue *queue = vb2_get_drv_priv(vq); 49 49 struct uvc_video *video = container_of(queue, struct uvc_video, queue);
+9 -9
include/media/videobuf2-core.h
··· 56 56 * @put_userptr: inform the allocator that a USERPTR buffer will no longer 57 57 * be used. 58 58 * @attach_dmabuf: attach a shared struct dma_buf for a hardware operation; 59 - * used for DMABUF memory types; alloc_ctx is the alloc context 59 + * used for DMABUF memory types; dev is the alloc device 60 60 * dbuf is the shared dma_buf; returns NULL on failure; 61 61 * allocator private per-buffer structure on success; 62 62 * this needs to be used for further accesses to the buffer. ··· 92 92 * unmap_dmabuf. 93 93 */ 94 94 struct vb2_mem_ops { 95 - void *(*alloc)(void *alloc_ctx, const struct dma_attrs *attrs, 95 + void *(*alloc)(struct device *dev, const struct dma_attrs *attrs, 96 96 unsigned long size, enum dma_data_direction dma_dir, 97 97 gfp_t gfp_flags); 98 98 void (*put)(void *buf_priv); 99 99 struct dma_buf *(*get_dmabuf)(void *buf_priv, unsigned long flags); 100 100 101 - void *(*get_userptr)(void *alloc_ctx, unsigned long vaddr, 101 + void *(*get_userptr)(struct device *dev, unsigned long vaddr, 102 102 unsigned long size, 103 103 enum dma_data_direction dma_dir); 104 104 void (*put_userptr)(void *buf_priv); ··· 106 106 void (*prepare)(void *buf_priv); 107 107 void (*finish)(void *buf_priv); 108 108 109 - void *(*attach_dmabuf)(void *alloc_ctx, struct dma_buf *dbuf, 109 + void *(*attach_dmabuf)(struct device *dev, struct dma_buf *dbuf, 110 110 unsigned long size, 111 111 enum dma_data_direction dma_dir); 112 112 void (*detach_dmabuf)(void *buf_priv); ··· 281 281 * in *num_buffers, the required number of planes per 282 282 * buffer in *num_planes, the size of each plane should be 283 283 * set in the sizes[] array and optional per-plane 284 - * allocator specific context in the alloc_ctxs[] array. 284 + * allocator specific device in the alloc_devs[] array. 285 285 * When called from VIDIOC_REQBUFS, *num_planes == 0, the 286 286 * driver has to use the currently configured format to 287 287 * determine the plane sizes and *num_buffers is the total ··· 355 355 struct vb2_ops { 356 356 int (*queue_setup)(struct vb2_queue *q, 357 357 unsigned int *num_buffers, unsigned int *num_planes, 358 - unsigned int sizes[], void *alloc_ctxs[]); 358 + unsigned int sizes[], struct device *alloc_devs[]); 359 359 360 360 void (*wait_prepare)(struct vb2_queue *q); 361 361 void (*wait_finish)(struct vb2_queue *q); ··· 401 401 * the V4L2_BUF_TYPE_* in include/uapi/linux/videodev2.h 402 402 * @io_modes: supported io methods (see vb2_io_modes enum) 403 403 * @dev: device to use for the default allocation context if the driver 404 - * doesn't fill in the @alloc_ctx array. 404 + * doesn't fill in the @alloc_devs array. 405 405 * @dma_attrs: DMA attributes to use for the DMA. May be NULL. 406 406 * @fileio_read_once: report EOF after reading the first buffer 407 407 * @fileio_write_immediately: queue buffer after each write() call ··· 449 449 * @done_list: list of buffers ready to be dequeued to userspace 450 450 * @done_lock: lock to protect done_list list 451 451 * @done_wq: waitqueue for processes waiting for buffers ready to be dequeued 452 - * @alloc_ctx: memory type/allocator-specific contexts for each plane 452 + * @alloc_devs: memory type/allocator-specific per-plane device 453 453 * @streaming: current streaming state 454 454 * @start_streaming_called: start_streaming() was called successfully and we 455 455 * started streaming. ··· 503 503 spinlock_t done_lock; 504 504 wait_queue_head_t done_wq; 505 505 506 - void *alloc_ctx[VB2_MAX_PLANES]; 506 + struct device *alloc_devs[VB2_MAX_PLANES]; 507 507 508 508 unsigned int streaming:1; 509 509 unsigned int start_streaming_called:1;
-2
include/media/videobuf2-dma-contig.h
··· 26 26 return *addr; 27 27 } 28 28 29 - void *vb2_dma_contig_init_ctx(struct device *dev); 30 - void vb2_dma_contig_cleanup_ctx(void *alloc_ctx); 31 29 int vb2_dma_contig_set_max_seg_size(struct device *dev, unsigned int size); 32 30 void vb2_dma_contig_clear_max_seg_size(struct device *dev); 33 31
-3
include/media/videobuf2-dma-sg.h
··· 21 21 return (struct sg_table *)vb2_plane_cookie(vb, plane_no); 22 22 } 23 23 24 - void *vb2_dma_sg_init_ctx(struct device *dev); 25 - void vb2_dma_sg_cleanup_ctx(void *alloc_ctx); 26 - 27 24 extern const struct vb2_mem_ops vb2_dma_sg_memops; 28 25 29 26 #endif
+1 -1
samples/v4l/v4l2-pci-skeleton.c
··· 163 163 */ 164 164 static int queue_setup(struct vb2_queue *vq, 165 165 unsigned int *nbuffers, unsigned int *nplanes, 166 - unsigned int sizes[], void *alloc_ctxs[]) 166 + unsigned int sizes[], struct device *alloc_devs[]) 167 167 { 168 168 struct skeleton *skel = vb2_get_drv_priv(vq); 169 169