• Bhumika Goyal's avatar
    [media] media: i2c: soc_camera: constify v4l2_subdev_* structures · 6713c88f
    Bhumika Goyal authored
    v4l2_subdev_{core/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 and after the changes:
       text	   data	    bss	    dec	    hex	filename
    
       3459	    696	      0	   4155	   103b	/media/i2c/soc_camera/imx074.o
       3835	    320	      0	   4155	   103b	/media/i2c/soc_camera/imx074.o
    
       4749	   1048	      8	   5805	   16ad	/media/i2c/soc_camera/mt9m001.o
       5133	    672	      8	   5813	   16b5	/media/i2c/soc_camera/mt9m001.o
    
       5658	   1112	      8	   6778	   1a7a	/media/i2c/soc_camera/mt9t031.o
       6042	    728	      8	   6778	   1a7a	/media/i2c/soc_camera/mt9t031.o
    
       6726	    784	      0	   7510	   1d56	/media/i2c/soc_camera/mt9t112.o
       7110	    408	      0	   7518	   1d5e	/media/i2c/soc_camera/mt9t112.o
    
       6700	    960	     16	   7676	   1dfc	/media/i2c/soc_camera/mt9v022.o
       7084	    584	     16	   7684	   1e04	/media/i2c/soc_camera/mt9v022.o
    
       5569	   1576	      8	   7153	   1bf1	/media/i2c/soc_camera/ov2640.o
       5953	   1200	      8	   7161	   1bf9	/media/i2c/soc_camera/ov2640.o
    
       3018	   2736	      0	   5754	   167a	/media/i2c/soc_camera/ov5642.o
       3394	   2352	      0	   5746	   1672	/media/i2c/soc_camera/ov5642.o
    
       8348	   2104	      8	  10460	   28dc	/media/i2c/soc_camera/ov6650.o
       8716	   1728	      8	  10452	   28d4	/media/i2c/soc_camera/ov6650.o
    
       4165	    696	      8	   4869	   1305	/media/i2c/soc_camera/ov772x.o
       4549	    320	      8	   4877	   130d	/media/i2c/soc_camera/ov772x.o
    
       4033	    608	      8	   4649	   1229	/media/i2c/soc_camera/ov9640.o
       4417	    232	      8	   4657	   1231	/media/i2c/soc_camera/ov9640.o
    
       4983	    784	      8	   5775	   168f	/media/i2c/soc_camera/ov9740.o
       5367	    408	      8	   5783	   1697	/media/i2c/soc_camera/ov9740.o
    
       8578	   1312	      8	   9898	   26aa i2c/soc_camera/rj54n1cb0c.o
       8962	    936	      8	   9906	   26b2 i2c/soc_camera/rj54n1cb0c.o
    
       3886	    696	      0	   4582	   11e6	/media/i2c/soc_camera/tw9910.o
       4270	    320	      0	   4590	   11ee	/media/i2c/soc_camera/tw9910.o
    Signed-off-by: default avatarBhumika Goyal <bhumirks@gmail.com>
    Signed-off-by: default avatarGuennadi Liakhovetski <g.liakhovetski@gmx.de>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
    6713c88f
ov6650.c 27.8 KB