]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
mtd: cfi_cmdset_0020: Drop unnecessary static
authorJulia Lawall <julia.lawall@lip6.fr>
Thu, 4 May 2017 20:10:46 +0000 (22:10 +0200)
committerBrian Norris <computersforpeace@gmail.com>
Thu, 11 May 2017 18:49:20 +0000 (11:49 -0700)
Drop static on a local variable, when the variable is initialized before
any 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
  16671      48      16   16735    415f drivers/mtd/chips/cfi_cmdset_0020.o

after:
   text    data     bss     dec     hex filename
  16639      48       8   16695    4137 drivers/mtd/chips/cfi_cmdset_0020.o

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
drivers/mtd/chips/cfi_cmdset_0020.c

index 94d3eb42c4d5f2c55dc6db811ae3a5280e58f95e..7d342965f392232d89919a0182982e7764982b82 100644 (file)
@@ -666,7 +666,7 @@ cfi_staa_writev(struct mtd_info *mtd, const struct kvec *vecs,
        size_t   totlen = 0, thislen;
        int      ret = 0;
        size_t   buflen = 0;
-       static char *buffer;
+       char *buffer;
 
        if (!ECCBUF_SIZE) {
                /* We should fall back to a general writev implementation.