staging: i4l: icn: use setup_timer() and mod_timer().
authorMuhammad Falak R Wani <falakreyaz@gmail.com>
Wed, 11 May 2016 13:29:53 +0000 (18:59 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 21 Aug 2016 15:20:09 +0000 (17:20 +0200)
Use setup_timer() instead of init_timer(), being the preferred/standard
way to set a timer up.

Also, quoting the mod_timer() function comment:
-> mod_timer() is a more efficient way to update the expire field of an
   active timer (if the timer is inactive it will be activated).

Use setup_timer and mod_timer to setup and arm a timer, to make the code
cleaner and easier to read.

Signed-off-by: Muhammad Falak R Wani <falakreyaz@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/i4l/icn/icn.c

index 46d957c34be1ea2f2fe78cdfde367f2dbd5e7566..4cc5a7f1482bc5352c81ee77feffb2fdfcb1ea0d 100644 (file)
@@ -980,18 +980,17 @@ icn_loadproto(u_char __user *buffer, icn_card *card)
                                       card->secondhalf);
 #endif
                                spin_lock_irqsave(&card->lock, flags);
-                               init_timer(&card->st_timer);
-                               card->st_timer.expires = jiffies + ICN_TIMER_DCREAD;
-                               card->st_timer.function = icn_polldchan;
-                               card->st_timer.data = (unsigned long) card;
-                               add_timer(&card->st_timer);
+                               setup_timer(&card->st_timer, icn_polldchan,
+                                           (unsigned long)card);
+                               mod_timer(&card->st_timer,
+                                         jiffies + ICN_TIMER_DCREAD);
                                card->flags |= ICN_FLAGS_RUNNING;
                                if (card->doubleS0) {
-                                       init_timer(&card->other->st_timer);
-                                       card->other->st_timer.expires = jiffies + ICN_TIMER_DCREAD;
-                                       card->other->st_timer.function = icn_polldchan;
-                                       card->other->st_timer.data = (unsigned long) card->other;
-                                       add_timer(&card->other->st_timer);
+                                       setup_timer(&card->other->st_timer,
+                                                   icn_polldchan,
+                                                   (unsigned long)card->other);
+                                       mod_timer(&card->other->st_timer,
+                                                 jiffies + ICN_TIMER_DCREAD);
                                        card->other->flags |= ICN_FLAGS_RUNNING;
                                }
                                spin_unlock_irqrestore(&card->lock, flags);