ALPHA: srmcons, use timer functions
authorJiri Slaby <jslaby@suse.cz>
Mon, 5 Mar 2012 13:51:57 +0000 (14:51 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 8 Mar 2012 19:42:21 +0000 (11:42 -0800)
It makes the code more readable. We move the setup to the allocation
location because we need to initialize timers only once.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Matt Turner <mattst88@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/alpha/kernel/srmcons.c

index 783f4e50c11137e83b9f31c5b952df062b673539..f1fdf178bcb4cc0658376f3b5668b66ce1b520f3 100644 (file)
@@ -79,10 +79,8 @@ srmcons_receive_chars(unsigned long data)
        } 
 
        spin_lock(&srmconsp->lock);
-       if (srmconsp->tty) {
-               srmconsp->timer.expires = jiffies + incr;
-               add_timer(&srmconsp->timer);
-       }
+       if (srmconsp->tty)
+               mod_timer(&srmconsp->timer, jiffies + incr);
        spin_unlock(&srmconsp->lock);
 
        local_irq_restore(flags);
@@ -172,7 +170,8 @@ srmcons_get_private_struct(struct srmcons_private **ps)
                else {
                        srmconsp->tty = NULL;
                        spin_lock_init(&srmconsp->lock);
-                       init_timer(&srmconsp->timer);
+                       setup_timer(&srmconsp->timer, srmcons_receive_chars,
+                                       (unsigned long)srmconsp);
                }
 
                spin_unlock_irqrestore(&srmconsp_lock, flags);
@@ -199,10 +198,7 @@ srmcons_open(struct tty_struct *tty, struct file *filp)
                tty->driver_data = srmconsp;
 
                srmconsp->tty = tty;
-               srmconsp->timer.function = srmcons_receive_chars;
-               srmconsp->timer.data = (unsigned long)srmconsp;
-               srmconsp->timer.expires = jiffies + 10;
-               add_timer(&srmconsp->timer);
+               mod_timer(&srmconsp->timer, jiffies + 10);
        }
 
        spin_unlock_irqrestore(&srmconsp->lock, flags);