• Julia Lawall's avatar
    power: supply: axp20x_usb_power: Drop unnecessary static · a4631820
    Julia Lawall authored
    Drop static on a local variable, when the variable is either first
    initialized or never used, 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
       2865     252       8    3125     c35 drivers/power/supply/axp20x_usb_power.o
    
    after:
       text    data     bss     dec     hex filename
       2822     252       0    3074     c02 drivers/power/supply/axp20x_usb_power.o
    Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
    Signed-off-by: default avatarSebastian Reichel <sebastian.reichel@collabora.co.uk>
    a4631820
axp20x_usb_power.c 11.2 KB