iio: adc: ad799x: constify attribute_group structures
Subsystems (2)
PATCH 1/1 iio: adc: ad799x: 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
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
--- drivers/iio/adc/ad799x.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/iio/adc/ad799x.c +1 -1
@@ -520,7 +520,7 @@ static struct attribute *ad799x_event_attributes[] = { NULL, }; -static struct attribute_group ad799x_event_attrs_group = { +static const struct attribute_group ad799x_event_attrs_group = { .attrs = ad799x_event_attributes, };
Signature · 1 line
2.7.4
Jonathan Cameron
maintainerQuoted 42 lines · simran singhal
Check for
attribute_groupstructures that are only stored in theevent_attrsfiled ofiio_infostructure. As theevent_attrsfield ofiio_infostructures is constant, so theseattribute_groupstructures can also be declared constant.
Done using coccinelle:@r1 disable
optional_qualifier@
identifier i;
position p;
@@
static structattribute_groupi@p = {...};@ok1@
identifier r1.i;
position p;
structiio_infox;
@@
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
structattribute_groupi={...};@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
+const
structattribute_groupi;File size before:
text data bss dec hex filename
26051 464 0 26515 6793drivers/iio/adc/ad799x.o
Quoted 5 lines
File size after:
text data bss dec hex filename
26115 400 0 26515 6793drivers/iio/adc/ad799x.oSigned-off-by simran singhal <[email protected]>
Applied to the togreg branch of iio.git and pushed out as testing for the autobuilders to play with it.
Thanks,
Jonathan
Quoted 18 lines
--- drivers/iio/adc/ad799x.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)drivers/iio/adc/ad799x.c +1
-1@@ -520,7 +520,7 @@ static struct attribute *ad799x_event_attributes[] = { NULL, }; -static struct attribute_group ad799x_event_attrs_group = { +static const struct attribute_group ad799x_event_attrs_group = { .attrs = ad799x_event_attributes, };
Quoted 43 lines · Jonathan Cameron
Quoted 42 lines · simran singhal
Check for
attribute_groupstructures that are only stored in theevent_attrsfiled ofiio_infostructure. As theevent_attrsfield ofiio_infostructures is constant, so theseattribute_groupstructures can also be declared constant.
Done using coccinelle:@r1 disable
optional_qualifier@
identifier i;
position p;
@@
static structattribute_groupi@p = {...};@ok1@
identifier r1.i;
position p;
structiio_infox;
@@
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
structattribute_groupi={...};@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
+const
structattribute_groupi;File size before:
text data bss dec hex filename
26051 464 0 26515 6793drivers/iio/adc/ad799x.o
Quoted 8 lines
Quoted 5 lines
File size after:
text data bss dec hex filename
26115 400 0 26515 6793drivers/iio/adc/ad799x.oSigned-off-by simran singhal <[email protected]>Applied to the togreg branch of iio.git and pushed out as testing for the autobuilders to play with it.
But my tree is up-to-date and I also test it before sending.
Quoted 22 lines
Thanks,
Jonathan
Quoted 18 lines
--- drivers/iio/adc/ad799x.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)drivers/iio/adc/ad799x.c +1
-1@@ -520,7 +520,7 @@ static struct attribute *ad799x_event_attributes[] = { NULL, }; -static struct attribute_group ad799x_event_attrs_group = { +static const struct attribute_group ad799x_event_attrs_group = { .attrs = ad799x_event_attributes, };
Jonathan Cameron
maintainerQuoted 48 lines · SIMRAN SINGHAL
Quoted 47 lines · Jonathan Cameron
Quoted 46 lines · simran singhal
Check for
attribute_groupstructures that are only stored in theevent_attrsfiled ofiio_infostructure. As theevent_attrsfield ofiio_infostructures is constant, so theseattribute_groupstructures can also be declared constant.
Done using coccinelle:@r1 disable
optional_qualifier@
identifier i;
position p;
@@
static structattribute_groupi@p = {...};@ok1@
identifier r1.i;
position p;
structiio_infox;
@@
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
structattribute_groupi={...};@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
+const
structattribute_groupi;File size before:
text data bss dec hex filename
26051 464 0 26515 6793drivers/iio/adc/ad799x.oFile size after:
text data bss dec hex filename
26115 400 0 26515 6793drivers/iio/adc/ad799x.o
Quoted 6 lines
Quoted 4 lines
Quoted 1 line
Signed-off-by simran singhal <[email protected]>Applied to the togreg branch of iio.git and pushed out as testing for the autobuilders to play with it.
But my tree is up-to-date and I also test it before sending.
this is standard practice. I build as well before pushing out, but I only do one or two configurations of one or two architectures. The autobuilders are a set of large servers that Intel run as a service to the kernel community.
Typically they'll run a few hundred builds for dozens of processor architectures
+ a much more extensive set of static tests than most kernel developers are set up to run. Here things will almost certainly be fine, but I've been wrong before!
The only thing is I tend to push out in the evening then go to bed before the results come in, then might not get to it for a day or so to push out as togreg. This tree I am happy to rebase - that is I can drop or fixup patches with issues. The togreg branch is the one that people often base new work on, so if I change the tree under them all sorts of nasty merge issues can occur.
This is why most trees that ultimately go upstream are non rebasing - but a lot of people now have a testing branch which is deliberately unofficial - people shouldn't use it to base their trees on as it is temporary for build test purposes.
Greg has one as well (I assume this is what it is for), he just tends to be quicker about dealing with whatever comes up than I am so doesn't explicitly mention it when he takes patches.
https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/log/?h=staging-testing
So it's nothing to worry about. I just put that note in so people don't wonder why their patch isn't immediately present in the public togreg branch of iio.git.
Jonathan
Quoted 23 lines
Quoted 23 lines
Thanks,
Jonathan
Quoted 18 lines
--- drivers/iio/adc/ad799x.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)drivers/iio/adc/ad799x.c +1
-1@@ -520,7 +520,7 @@ static struct attribute *ad799x_event_attributes[] = { NULL, }; -static struct attribute_group ad799x_event_attrs_group = { +static const struct attribute_group ad799x_event_attrs_group = { .attrs = ad799x_event_attributes, };
Quoted 81 lines · Jonathan Cameron
Quoted 48 lines · SIMRAN SINGHAL
Quoted 47 lines · Jonathan Cameron
Quoted 46 lines · simran singhal
Check for
attribute_groupstructures that are only stored in theevent_attrsfiled ofiio_infostructure. As theevent_attrsfield ofiio_infostructures is constant, so theseattribute_groupstructures can also be declared constant.
Done using coccinelle:@r1 disable
optional_qualifier@
identifier i;
position p;
@@
static structattribute_groupi@p = {...};@ok1@
identifier r1.i;
position p;
structiio_infox;
@@
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
structattribute_groupi={...};@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
+const
structattribute_groupi;File size before:
text data bss dec hex filename
26051 464 0 26515 6793drivers/iio/adc/ad799x.oFile size after:
text data bss dec hex filename
26115 400 0 26515 6793drivers/iio/adc/ad799x.oQuoted 6 lines
Quoted 4 lines
Quoted 1 line
Signed-off-by simran singhal <[email protected]>Applied to the togreg branch of iio.git and pushed out as testing for the autobuilders to play with it.
But my tree is up-to-date and I also test it before sending.
this is standard practice. I build as well before pushing out, but I only do one or two configurations of one or two architectures. The autobuilders are a set of large servers that Intel run as a service to the kernel community.
Typically they'll run a few hundred builds for dozens of processor architectures
+ a much more extensive set of static tests than most kernel developers are set up to run. Here things will almost certainly be fine, but I've been wrong before!The only thing is I tend to push out in the evening then go to bed before the results come in, then might not get to it for a day or so to push out as togreg. This tree I am happy to rebase - that is I can drop or fixup patches with issues. The togreg branch is the one that people often base new work on, so if I change the tree under them all sorts of nasty merge issues can occur.
This is why most trees that ultimately go upstream are non rebasing - but a lot of people now have a testing branch which is deliberately unofficial - people shouldn't use it to base their trees on as it is temporary for build test purposes.
Greg has one as well (I assume this is what it is for), he just tends to be quicker about dealing with whatever comes up than I am so doesn't explicitly mention it when he takes patches.
Quoted 6 lines
https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/log/?h=staging-testing
So it's nothing to worry about. I just put that note in so people don't wonder why their patch isn't immediately present in the public togreg branch of iio.git.
Thanks for the explaination.
Simran
Quoted 25 lines
Jonathan
Quoted 23 lines
Quoted 23 lines
Thanks,
Jonathan
Quoted 18 lines
--- drivers/iio/adc/ad799x.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)drivers/iio/adc/ad799x.c +1
-1@@ -520,7 +520,7 @@ static struct attribute *ad799x_event_attributes[] = { NULL, }; -static struct attribute_group ad799x_event_attrs_group = { +static const struct attribute_group ad799x_event_attrs_group = { .attrs = ad799x_event_attributes, };