Skip to content
  • Bhumika Goyal's avatar
    [media] drivers: media: i2c: constify v4l2_subdev_* structures · 7c137c60
    Bhumika Goyal authored
    
    
    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: default avatarBhumika Goyal <bhumirks@gmail.com>
    Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
    7c137c60