• simran singhal's avatar
    iio: adc: ad799x: constify attribute_group structures · 612dc0e2
    simran singhal authored
    Check for attribute_group structures that are only stored in the
    event_attrs filed of iio_info structure. As the event_attrs field of
    iio_info structures is constant, so these attribute_group structures can
    also be declared constant.
    Done using coccinelle:
    
    @r1 disable optional_qualifier @
    identifier i;
    position p;
    @@
    static struct attribute_group i@p = {...};
    
    @ok1@
    identifier r1.i;
    position p;
    struct iio_info x;
    @@
    x.event_attrs=&i@p;
    
    @bad@
    position p!={r1.p,ok1.p};
    identifier r1.i;
    @@
    i@p
    
    @depends on !bad disable optional_qualifier@
    identifier r1.i;
    @@
    static
    +const
    struct attribute_group i={...};
    
    @depends on !bad disable optional_qualifier@
    identifier r1.i;
    @@
    +const
    struct attribute_group i;
    
    File size before:
       text    data     bss     dec     hex filename
      26051     464       0   26515    6793 drivers/iio/adc/ad799x.o
    
    File size after:
       text	   data	    bss	    dec	    hex	filename
      26115	    400	      0	  26515	   6793	drivers/iio/adc/ad799x.o
    Signed-off-by: default avatarsimran singhal <singhalsimran0@gmail.com>
    Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
    612dc0e2
ad799x.c 21.1 KB