Re: [2/2] i2c: constify i2c_adapter_quirks structures

From: Wolfram Sang
Date: Thu Nov 17 2016 - 20:00:18 EST


On Sat, Oct 15, 2016 at 07:32:02PM +0200, Julia Lawall wrote:
> Check for i2c_adapter_quirks structures that are only stored in the
> quirks field of an i2c_adapter structure. This field is declared
> const, so i2c_adapter_quirks structures that have this property can be
> declared as const also.
>
> The semantic patch that makes this change is as follows:
> (http://coccinelle.lip6.fr/)
>
> // <smpl>
> @r disable optional_qualifier@
> identifier i;
> position p;
> @@
> static struct i2c_adapter_quirks i@p = { ... };
>
> @ok@
> identifier r.i;
> struct i2c_adapter e;
> position p;
> @@
> e.quirks = &i@p;
>
> @bad@
> position p != {r.p,ok.p};
> identifier r.i;
> struct i2c_adapter_quirks e;
> @@
> e@i@p
>
> @depends on !bad disable optional_qualifier@
> identifier r.i;
> @@
> static
> +const
> struct i2c_adapter_quirks i = { ... };
> // </smpl>
>
> The effect on the layout of the .o files is shown by the following
> output of the size command, first before then after the
> transformation:
>
> text data bss dec hex filename
> 3651 472 8 4131 1023 drivers/i2c/busses/i2c-axxia.o
> 3683 440 8 4131 1023 drivers/i2c/busses/i2c-axxia.o
>
> text data bss dec hex filename
> 1069 216 0 1285 505 drivers/i2c/busses/i2c-dln2.o
> 1101 192 0 1293 50d drivers/i2c/busses/i2c-dln2.o
>
> text data bss dec hex filename
> 3211 484 1 3696 e70 drivers/i2c/busses/i2c-viperboard.o
> 3243 460 1 3704 e78 drivers/i2c/busses/i2c-viperboard.o
>
> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>

Squashed with the other similar patch and applied to for-next, thanks!

Attachment: signature.asc
Description: PGP signature