iio: hid-sensor-accel-3d: Drop unnecessary static
authorJulia Lawall <Julia.Lawall@lip6.fr>
Thu, 4 May 2017 20:10:52 +0000 (22:10 +0200)
committerJonathan Cameron <jic23@kernel.org>
Sun, 7 May 2017 12:56:36 +0000 (13:56 +0100)
Drop static on a local variable, when the variable is initialized before
use, on every possible execution path through the function.  The static has
no benefit, and dropping it reduces the code size.

The semantic patch that fixes this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@bad exists@
position p;
identifier x;
type T;
@@

static T x@p;
...
x = <+...x...+>

@@
identifier x;
expression e;
type T;
position p != bad.p;
@@

-static
 T x@p;
 ... when != x
     when strict
?x = e;
// </smpl>

The change in code size is indicates by the following output from the size
command.

before:
   text    data     bss     dec     hex filename
   3879     512       8    4399    112f drivers/iio/accel/hid-sensor-accel-3d.o

after:
   text    data     bss     dec     hex filename
   3863     512       0    4375    1117 drivers/iio/accel/hid-sensor-accel-3d.o

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/accel/hid-sensor-accel-3d.c

index 43a6cb07819363e8409ed0c28e9f91ae0d49d06d..2238a26aba637d0afd5adb14cd01ad3f729fc931 100644 (file)
@@ -347,7 +347,7 @@ static int accel_3d_parse_report(struct platform_device *pdev,
 static int hid_accel_3d_probe(struct platform_device *pdev)
 {
        int ret = 0;
-       static const char *name;
+       const char *name;
        struct iio_dev *indio_dev;
        struct accel_3d_state *accel_state;
        const struct iio_chan_spec *channel_spec;