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

[media] platform: constify vb2_ops structures

Check for vb2_ops structures that are only stored in the ops field of a
vb2_queue structure. That field is declared const, so vb2_ops structures
that have this property can be declared as const also.

The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r disable optional_qualifier@
identifier i;
position p;
@@
static struct vb2_ops i@p = { ... };

@ok@
identifier r.i;
struct vb2_queue e;
position p;
@@
e.ops = &i@p;

@bad@
position p != {r.p,ok.p};
identifier r.i;
struct vb2_ops e;
@@
e@i@p

@depends on !bad disable optional_qualifier@
identifier r.i;
@@
static
+const
struct vb2_ops i = { ... };
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Fabien Dessenne <fabien.dessenne@st.com>
Reviewed-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Reviewed-by: Benoit Parrot <bparrot@ti.com>
[hans.verkuil@cisco.com: dropped soc_camera/rcar_vin.c patch because that driver will be removed]
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>

authored by

Julia Lawall and committed by
Mauro Carvalho Chehab
b7b361f0 1bc17717

+18 -18
+1 -1
drivers/media/platform/exynos-gsc/gsc-m2m.c
··· 261 261 v4l2_m2m_buf_queue(ctx->m2m_ctx, vbuf); 262 262 } 263 263 264 - static struct vb2_ops gsc_m2m_qops = { 264 + static const struct vb2_ops gsc_m2m_qops = { 265 265 .queue_setup = gsc_m2m_queue_setup, 266 266 .buf_prepare = gsc_m2m_buf_prepare, 267 267 .buf_queue = gsc_m2m_buf_queue,
+1 -1
drivers/media/platform/exynos4-is/fimc-capture.c
··· 452 452 spin_unlock_irqrestore(&fimc->slock, flags); 453 453 } 454 454 455 - static struct vb2_ops fimc_capture_qops = { 455 + static const struct vb2_ops fimc_capture_qops = { 456 456 .queue_setup = queue_setup, 457 457 .buf_prepare = buffer_prepare, 458 458 .buf_queue = buffer_queue,
+1 -1
drivers/media/platform/exynos4-is/fimc-m2m.c
··· 219 219 v4l2_m2m_buf_queue(ctx->fh.m2m_ctx, vbuf); 220 220 } 221 221 222 - static struct vb2_ops fimc_qops = { 222 + static const struct vb2_ops fimc_qops = { 223 223 .queue_setup = fimc_queue_setup, 224 224 .buf_prepare = fimc_buf_prepare, 225 225 .buf_queue = fimc_buf_queue,
+1 -1
drivers/media/platform/m2m-deinterlace.c
··· 852 852 v4l2_m2m_buf_queue(ctx->m2m_ctx, vbuf); 853 853 } 854 854 855 - static struct vb2_ops deinterlace_qops = { 855 + static const struct vb2_ops deinterlace_qops = { 856 856 .queue_setup = deinterlace_queue_setup, 857 857 .buf_prepare = deinterlace_buf_prepare, 858 858 .buf_queue = deinterlace_buf_queue,
+1 -1
drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c
··· 933 933 ctx->state = MTK_STATE_FREE; 934 934 } 935 935 936 - static struct vb2_ops mtk_venc_vb2_ops = { 936 + static const struct vb2_ops mtk_venc_vb2_ops = { 937 937 .queue_setup = vb2ops_venc_queue_setup, 938 938 .buf_prepare = vb2ops_venc_buf_prepare, 939 939 .buf_queue = vb2ops_venc_buf_queue,
+1 -1
drivers/media/platform/mx2_emmaprp.c
··· 743 743 v4l2_m2m_buf_queue(ctx->m2m_ctx, vbuf); 744 744 } 745 745 746 - static struct vb2_ops emmaprp_qops = { 746 + static const struct vb2_ops emmaprp_qops = { 747 747 .queue_setup = emmaprp_queue_setup, 748 748 .buf_prepare = emmaprp_buf_prepare, 749 749 .buf_queue = emmaprp_buf_queue,
+1 -1
drivers/media/platform/rcar-vin/rcar-dma.c
··· 1114 1114 rvin_disable_interrupts(vin); 1115 1115 } 1116 1116 1117 - static struct vb2_ops rvin_qops = { 1117 + static const struct vb2_ops rvin_qops = { 1118 1118 .queue_setup = rvin_queue_setup, 1119 1119 .buf_prepare = rvin_buffer_prepare, 1120 1120 .buf_queue = rvin_buffer_queue,
+1 -1
drivers/media/platform/rcar_jpu.c
··· 1183 1183 } 1184 1184 } 1185 1185 1186 - static struct vb2_ops jpu_qops = { 1186 + static const struct vb2_ops jpu_qops = { 1187 1187 .queue_setup = jpu_queue_setup, 1188 1188 .buf_prepare = jpu_buf_prepare, 1189 1189 .buf_queue = jpu_buf_queue,
+1 -1
drivers/media/platform/s5p-g2d/g2d.c
··· 138 138 v4l2_m2m_buf_queue(ctx->fh.m2m_ctx, vbuf); 139 139 } 140 140 141 - static struct vb2_ops g2d_qops = { 141 + static const struct vb2_ops g2d_qops = { 142 142 .queue_setup = g2d_queue_setup, 143 143 .buf_prepare = g2d_buf_prepare, 144 144 .buf_queue = g2d_buf_queue,
+1 -1
drivers/media/platform/s5p-jpeg/jpeg-core.c
··· 2545 2545 pm_runtime_put(ctx->jpeg->dev); 2546 2546 } 2547 2547 2548 - static struct vb2_ops s5p_jpeg_qops = { 2548 + static const struct vb2_ops s5p_jpeg_qops = { 2549 2549 .queue_setup = s5p_jpeg_queue_setup, 2550 2550 .buf_prepare = s5p_jpeg_buf_prepare, 2551 2551 .buf_queue = s5p_jpeg_buf_queue,
+1 -1
drivers/media/platform/sh_vou.c
··· 362 362 spin_unlock_irqrestore(&vou_dev->lock, flags); 363 363 } 364 364 365 - static struct vb2_ops sh_vou_qops = { 365 + static const struct vb2_ops sh_vou_qops = { 366 366 .queue_setup = sh_vou_queue_setup, 367 367 .buf_prepare = sh_vou_buf_prepare, 368 368 .buf_queue = sh_vou_buf_queue,
+1 -1
drivers/media/platform/soc_camera/atmel-isi.c
··· 536 536 pm_runtime_put(ici->v4l2_dev.dev); 537 537 } 538 538 539 - static struct vb2_ops isi_video_qops = { 539 + static const struct vb2_ops isi_video_qops = { 540 540 .queue_setup = queue_setup, 541 541 .buf_init = buffer_init, 542 542 .buf_prepare = buffer_prepare,
+1 -1
drivers/media/platform/soc_camera/sh_mobile_ceu_camera.c
··· 464 464 sh_mobile_ceu_soft_reset(pcdev); 465 465 } 466 466 467 - static struct vb2_ops sh_mobile_ceu_videobuf_ops = { 467 + static const struct vb2_ops sh_mobile_ceu_videobuf_ops = { 468 468 .queue_setup = sh_mobile_ceu_videobuf_setup, 469 469 .buf_prepare = sh_mobile_ceu_videobuf_prepare, 470 470 .buf_queue = sh_mobile_ceu_videobuf_queue,
+1 -1
drivers/media/platform/sti/bdisp/bdisp-v4l2.c
··· 527 527 pm_runtime_put(ctx->bdisp_dev->dev); 528 528 } 529 529 530 - static struct vb2_ops bdisp_qops = { 530 + static const struct vb2_ops bdisp_qops = { 531 531 .queue_setup = bdisp_queue_setup, 532 532 .buf_prepare = bdisp_buf_prepare, 533 533 .buf_queue = bdisp_buf_queue,
+1 -1
drivers/media/platform/ti-vpe/cal.c
··· 1379 1379 cal_runtime_put(ctx->dev); 1380 1380 } 1381 1381 1382 - static struct vb2_ops cal_video_qops = { 1382 + static const struct vb2_ops cal_video_qops = { 1383 1383 .queue_setup = cal_queue_setup, 1384 1384 .buf_prepare = cal_buffer_prepare, 1385 1385 .buf_queue = cal_buffer_queue,
+1 -1
drivers/media/platform/ti-vpe/vpe.c
··· 1878 1878 vpdma_dump_regs(ctx->dev->vpdma); 1879 1879 } 1880 1880 1881 - static struct vb2_ops vpe_qops = { 1881 + static const struct vb2_ops vpe_qops = { 1882 1882 .queue_setup = vpe_queue_setup, 1883 1883 .buf_prepare = vpe_buf_prepare, 1884 1884 .buf_queue = vpe_buf_queue,
+1 -1
drivers/media/platform/vim2m.c
··· 815 815 } 816 816 } 817 817 818 - static struct vb2_ops vim2m_qops = { 818 + static const struct vb2_ops vim2m_qops = { 819 819 .queue_setup = vim2m_queue_setup, 820 820 .buf_prepare = vim2m_buf_prepare, 821 821 .buf_queue = vim2m_buf_queue,
+1 -1
drivers/media/platform/xilinx/xilinx-dma.c
··· 474 474 spin_unlock_irq(&dma->queued_lock); 475 475 } 476 476 477 - static struct vb2_ops xvip_dma_queue_qops = { 477 + static const struct vb2_ops xvip_dma_queue_qops = { 478 478 .queue_setup = xvip_dma_queue_setup, 479 479 .buf_prepare = xvip_dma_buffer_prepare, 480 480 .buf_queue = xvip_dma_buffer_queue,