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

[media] media: dvb-frontends: constify vb2_ops structure

Declare vb2_ops structure as const as it is only stored in
the ops field of a vb2_queue structure. This field is of type
const, so vb2_ops structures having same properties can be made
const too.
Done using Coccinelle:

@r1 disable optional_qualifier@
identifier i;
position p;
@@
static struct vb2_ops i@p={...};

@ok1@
identifier r1.i;
position p;
struct sta2x11_vip vip;
struct vb2_queue q;
@@
(
vip.vb_vidq.ops=&i@p
|
q.ops=&i@p
)

@bad@
position p!={r1.p,ok1.p};
identifier r1.i;
@@
i@p

@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
+const
struct vb2_ops i;

File size details of media/dvb-frontends/rtl2832_sdr.o file remains the
same before and after applying the patch.

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

authored by

Bhumika Goyal and committed by
Mauro Carvalho Chehab
dd93e79c 8b6fe20a

+1 -1
+1 -1
drivers/media/dvb-frontends/rtl2832_sdr.c
··· 956 956 mutex_unlock(&dev->v4l2_lock); 957 957 } 958 958 959 - static struct vb2_ops rtl2832_sdr_vb2_ops = { 959 + static const struct vb2_ops rtl2832_sdr_vb2_ops = { 960 960 .queue_setup = rtl2832_sdr_queue_setup, 961 961 .buf_prepare = rtl2832_sdr_buf_prepare, 962 962 .buf_queue = rtl2832_sdr_buf_queue,