Re: [PATCH] soc: versatile: remove unnecessary static in realview_soc_probe()
From: Linus Walleij
Date: Wed Aug 02 2017 - 07:59:52 EST
On Thu, Jul 20, 2017 at 12:40 AM, Gustavo A. R. Silva
<gustavo@xxxxxxxxxxxxxx> wrote:
> Remove unnecessary static on local variables syscon_regmap.
> Such variables are initialized before being used, on every
> execution path throughout the functions. The static has no
> benefit and, removing it reduces the object file size.
>
> This issue was detected using Coccinelle and the following
> semantic patch:
>
> @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;
>
> In the following log you can see the difference in the object file size.
> This log is the output of the size command, before and after the code
> change:
>
> before:
> text data bss dec hex filename
> 3339 2104 128 5571 15c3 drivers/soc/versatile/soc-realview.o
>
> after:
> text data bss dec hex filename
> 3321 2048 64 5433 1539 drivers/soc/versatile/soc-realview.o
>
> Signed-off-by: Gustavo A. R. Silva <gustavo@xxxxxxxxxxxxxx>
Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
You probably want to funnel this patch through the ARM SoC tree.
(If nothing else works, send as separate patch to arm@xxxxxxxxxx)
Yours,
Linus Walleij