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

Staging: iio: addac: constify attribute_group structures

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
11013 6096 0 17109 42d5
drivers/staging/iio/addac/adt7316.o

File size after:
text data bss dec hex filename
11141 5968 0 17109 42d5
drivers/staging/iio/addac/adt7316.o

Signed-off-by: Bhumika Goyal <bhumirks@gmail.com>
Acked-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>

authored by

Bhumika Goyal and committed by
Jonathan Cameron
f0c81616 0fa90023

+2 -2
+2 -2
drivers/staging/iio/addac/adt7316.c
··· 2039 2039 NULL, 2040 2040 }; 2041 2041 2042 - static struct attribute_group adt7316_event_attribute_group = { 2042 + static const struct attribute_group adt7316_event_attribute_group = { 2043 2043 .attrs = adt7316_event_attributes, 2044 2044 .name = "events", 2045 2045 }; ··· 2060 2060 NULL, 2061 2061 }; 2062 2062 2063 - static struct attribute_group adt7516_event_attribute_group = { 2063 + static const struct attribute_group adt7516_event_attribute_group = { 2064 2064 .attrs = adt7516_event_attributes, 2065 2065 .name = "events", 2066 2066 };