Remove unnecessary static on local variable delt.
Such variable is initialized before being used,
on every execution path throughout the function.
The static has no benefit and, removing it reduces
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,
there is a significant difference in the bss segment. This log is the
output of the size command, before and after the code change:

before:
   text    data     bss     dec     hex filename
   5009    3456     576    9041    2351 drivers/media/rc/sir_ir.o

after:
   text    data     bss     dec     hex filename
   4988    3400     512    8900    22c4 drivers/media/rc/sir_ir.o

Signed-off-by: Gustavo A. R. Silva <garsi...@embeddedor.com>
---
 drivers/media/rc/sir_ir.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/rc/sir_ir.c b/drivers/media/rc/sir_ir.c
index 20234ba..be67f7c 100644
--- a/drivers/media/rc/sir_ir.c
+++ b/drivers/media/rc/sir_ir.c
@@ -155,7 +155,7 @@ static irqreturn_t sir_interrupt(int irq, void *dev_id)
 {
        unsigned char data;
        ktime_t curr_time;
-       static unsigned long delt;
+       unsigned long delt;
        unsigned long deltintr;
        unsigned long flags;
        int counter = 0;
-- 
2.5.0

Reply via email to