Use setup_timer and mod_timer API instead of structure assignments.

This is done using Coccinelle and semantic patch used
for this as follows:

@@
expression x,y,z,a,b;
@@

-init_timer (&x);
+setup_timer (&x, y, z);
+mod_timer (&a, b);
-x.function = y;
-x.data = z;
-x.expires = b;
-add_timer(&a);

Signed-off-by: Himanshu Jha <himanshujha199...@gmail.com>
---
 drivers/scsi/esas2r/esas2r_main.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/drivers/scsi/esas2r/esas2r_main.c 
b/drivers/scsi/esas2r/esas2r_main.c
index 81f226b..1866ba0 100644
--- a/drivers/scsi/esas2r/esas2r_main.c
+++ b/drivers/scsi/esas2r/esas2r_main.c
@@ -1635,14 +1635,8 @@ static void esas2r_timer_callback(unsigned long context);
 
 void esas2r_kickoff_timer(struct esas2r_adapter *a)
 {
-       init_timer(&a->timer);
-
-       a->timer.function = esas2r_timer_callback;
-       a->timer.data = (unsigned long)a;
-       a->timer.expires = jiffies +
-                          msecs_to_jiffies(100);
-
-       add_timer(&a->timer);
+       setup_timer(&a->timer, esas2r_timer_callback, (unsigned long)a);
+       mod_timer(&a->timer, jiffies + msecs_to_jiffies(100));
 }
 
 static void esas2r_timer_callback(unsigned long context)
-- 
2.7.4

Reply via email to