From 34b55b865ed12494e23b09b5d2e8da22047fd6a7 Mon Sep 17 00:00:00 2001 From: Jiri Slaby Date: Fri, 8 Dec 2006 02:38:55 -0800 Subject: [PATCH] [PATCH] Char: isicom, simplify timer Don't init timer in such complicated way. Use DEFINE_TIMER and then only mod_timer to reset the expiration. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- drivers/char/isicom.c | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/drivers/char/isicom.c b/drivers/char/isicom.c index 734fe39a6a..adab41cdab 100644 --- a/drivers/char/isicom.c +++ b/drivers/char/isicom.c @@ -173,12 +173,13 @@ static int prev_card = 3; /* start servicing isi_card[0] */ static struct tty_driver *isicom_normal; static DECLARE_COMPLETION(isi_timerdone); -static struct timer_list tx; static char re_schedule = 1; static void isicom_tx(unsigned long _data); static void isicom_start(struct tty_struct *tty); +static DEFINE_TIMER(tx, isicom_tx, 0, 0); + /* baud index mappings from linux defns to isi */ static signed char linuxb_to_isib[] = { @@ -519,13 +520,7 @@ sched_again: return; } - init_timer(&tx); - tx.expires = jiffies + HZ/100; - tx.data = 0; - tx.function = isicom_tx; - add_timer(&tx); - - return; + mod_timer(&tx, jiffies + msecs_to_jiffies(10)); } /* Interrupt handlers */ @@ -1907,12 +1902,7 @@ static int __init isicom_init(void) goto err_unrtty; } - init_timer(&tx); - tx.expires = jiffies + 1; - tx.data = 0; - tx.function = isicom_tx; - re_schedule = 1; - add_timer(&tx); + mod_timer(&tx, jiffies + 1); return 0; err_unrtty: -- 2.39.5