diff options
author | Jiri Slaby <jirislaby@gmail.com> | 2006-12-08 13:38:55 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-08 19:28:58 +0300 |
commit | 34b55b865ed12494e23b09b5d2e8da22047fd6a7 (patch) | |
tree | 9da544c0201eb27bb12900c943211a9e530cb59e /drivers/char/isicom.c | |
parent | 906cdecbedae93e3f63651000f620acddf4debe9 (diff) | |
download | linux-34b55b865ed12494e23b09b5d2e8da22047fd6a7.tar.xz |
[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 <jirislaby@gmail.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/char/isicom.c')
-rw-r--r-- | drivers/char/isicom.c | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/drivers/char/isicom.c b/drivers/char/isicom.c index 734fe39a6ac2..adab41cdab65 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: |