* [PATCH v2] clk: moxart: remove unnecessary statics
@ 2017-07-04 22:36 Gustavo A. R. Silva
2017-07-18 1:30 ` Stephen Boyd
0 siblings, 1 reply; 2+ messages in thread
From: Gustavo A. R. Silva @ 2017-07-04 22:36 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd
Cc: linux-clk, linux-kernel, Gustavo A. R. Silva
Remove unnecessary static on local variable _base_ in both functions
moxart_of_pll_clk_init() and moxart_of_apb_clk_init(). Such variables
are initialized before being used, on every execution path throughout
the mentioned functions. The statics have no benefit and, removing
them reduce the code 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 code size. Also,
notice that the bss segment is reduced down to zero. This log is the
output of the size command, before and after the code change:
before:
text data bss dec hex filename
1724 384 128 2236 8bc drivers/clk/clk-moxart.o
after:
text data bss dec hex filename
1697 240 0 1937 791 drivers/clk/clk-moxart.o
Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
---
Changes in v2:
Remove static on local variable _base_
in function moxart_of_apb_clk_init()
drivers/clk/clk-moxart.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/clk/clk-moxart.c b/drivers/clk/clk-moxart.c
index b86dac8..1f66ccb 100644
--- a/drivers/clk/clk-moxart.c
+++ b/drivers/clk/clk-moxart.c
@@ -18,7 +18,7 @@
static void __init moxart_of_pll_clk_init(struct device_node *node)
{
- static void __iomem *base;
+ void __iomem *base;
struct clk_hw *hw;
struct clk *ref_clk;
unsigned int mul;
@@ -57,7 +57,7 @@ CLK_OF_DECLARE(moxart_pll_clock, "moxa,moxart-pll-clock",
static void __init moxart_of_apb_clk_init(struct device_node *node)
{
- static void __iomem *base;
+ void __iomem *base;
struct clk_hw *hw;
struct clk *pll_clk;
unsigned int div, val;
--
2.5.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v2] clk: moxart: remove unnecessary statics
2017-07-04 22:36 [PATCH v2] clk: moxart: remove unnecessary statics Gustavo A. R. Silva
@ 2017-07-18 1:30 ` Stephen Boyd
0 siblings, 0 replies; 2+ messages in thread
From: Stephen Boyd @ 2017-07-18 1:30 UTC (permalink / raw)
To: Gustavo A. R. Silva; +Cc: Michael Turquette, linux-clk, linux-kernel
On 07/04, Gustavo A. R. Silva wrote:
> Remove unnecessary static on local variable _base_ in both functions
> moxart_of_pll_clk_init() and moxart_of_apb_clk_init(). Such variables
> are initialized before being used, on every execution path throughout
> the mentioned functions. The statics have no benefit and, removing
> them reduce the code 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 code size. Also,
> notice that the bss segment is reduced down to zero. This log is the
> output of the size command, before and after the code change:
>
> before:
> text data bss dec hex filename
> 1724 384 128 2236 8bc drivers/clk/clk-moxart.o
>
> after:
> text data bss dec hex filename
> 1697 240 0 1937 791 drivers/clk/clk-moxart.o
>
> Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
> ---
Applied to clk-next
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-07-18 1:30 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-04 22:36 [PATCH v2] clk: moxart: remove unnecessary statics Gustavo A. R. Silva
2017-07-18 1:30 ` Stephen Boyd
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.