[media] drivers: media: i2c: constify v4l2_subdev_* structures
authorBhumika Goyal <bhumirks@gmail.com>
Mon, 12 Dec 2016 07:45:32 +0000 (05:45 -0200)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Fri, 3 Feb 2017 11:23:19 +0000 (09:23 -0200)
commit7c137c601b1104bddfc77937a12091a8a4c38287
tree69ef930796e13ae2f75f114dacc45bc6c6e5f65a
parentcebb31c8b5fdea701b94b4a1664b50b7705736eb
[media] drivers: media: i2c: constify v4l2_subdev_* structures

v4l2_subdev_{core/pad/video}_ops structures are stored in the
fields of the v4l2_subdev_ops structure which are of type const.
Also, v4l2_subdev_ops structure is passed to a function
having its argument of type const. As these structures are never
modified, so declare them as const.
Done using Coccinelle: (One of the scripts used)

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

@ok1@
identifier r1.i;
position p;
struct v4l2_subdev_ops obj;
@@
obj.video=&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 v4l2_subdev_video_ops i;

File sizes before:
  text    data     bss     dec     hex filename
   7810     736      16    8562    2172 drivers/media/i2c/mt9p031.o
   9652     736      24   10412    28ac drivers/media/i2c/mt9v032.o
   4613     552      20    5185    1441 drivers/media/i2c/noon010pc30.o
   2615     552       8    3175     c67 drivers/media/i2c/s5k6a3.o

File sizes after:
  text    data     bss     dec     hex filename
   8322     232      16    8570    217a drivers/media/i2c/mt9p031.o
  10164     232      24   10420    28b4 drivers/media/i2c/mt9v032.o
   4933     232      20    5185    1441 drivers/media/i2c/noon010pc30.o
   2935     232       8    3175     c67 drivers/media/i2c/s5k6a3.o

Signed-off-by: Bhumika Goyal <bhumirks@gmail.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/i2c/mt9p031.c
drivers/media/i2c/mt9v032.c
drivers/media/i2c/noon010pc30.c
drivers/media/i2c/s5k6a3.c