diff options
author | Jiri Slaby <jirislaby@gmail.com> | 2006-12-08 05:38:55 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-08 11:28:58 -0500 |
commit | 34b55b865ed12494e23b09b5d2e8da22047fd6a7 (patch) | |
tree | 9da544c0201eb27bb12900c943211a9e530cb59e /drivers/char/isicom.c | |
parent | 906cdecbedae93e3f63651000f620acddf4debe9 (diff) |
[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] */ | |||
173 | static struct tty_driver *isicom_normal; | 173 | static struct tty_driver *isicom_normal; |
174 | 174 | ||
175 | static DECLARE_COMPLETION(isi_timerdone); | 175 | static DECLARE_COMPLETION(isi_timerdone); |
176 | static struct timer_list tx; | ||
177 | static char re_schedule = 1; | 176 | static char re_schedule = 1; |
178 | 177 | ||
179 | static void isicom_tx(unsigned long _data); | 178 | static void isicom_tx(unsigned long _data); |
180 | static void isicom_start(struct tty_struct *tty); | 179 | static void isicom_start(struct tty_struct *tty); |
181 | 180 | ||
181 | static DEFINE_TIMER(tx, isicom_tx, 0, 0); | ||
182 | |||
182 | /* baud index mappings from linux defns to isi */ | 183 | /* baud index mappings from linux defns to isi */ |
183 | 184 | ||
184 | static signed char linuxb_to_isib[] = { | 185 | static signed char linuxb_to_isib[] = { |
@@ -519,13 +520,7 @@ sched_again: | |||
519 | return; | 520 | return; |
520 | } | 521 | } |
521 | 522 | ||
522 | init_timer(&tx); | 523 | mod_timer(&tx, jiffies + msecs_to_jiffies(10)); |
523 | tx.expires = jiffies + HZ/100; | ||
524 | tx.data = 0; | ||
525 | tx.function = isicom_tx; | ||
526 | add_timer(&tx); | ||
527 | |||
528 | return; | ||
529 | } | 524 | } |
530 | 525 | ||
531 | /* Interrupt handlers */ | 526 | /* Interrupt handlers */ |
@@ -1907,12 +1902,7 @@ static int __init isicom_init(void) | |||
1907 | goto err_unrtty; | 1902 | goto err_unrtty; |
1908 | } | 1903 | } |
1909 | 1904 | ||
1910 | init_timer(&tx); | 1905 | mod_timer(&tx, jiffies + 1); |
1911 | tx.expires = jiffies + 1; | ||
1912 | tx.data = 0; | ||
1913 | tx.function = isicom_tx; | ||
1914 | re_schedule = 1; | ||
1915 | add_timer(&tx); | ||
1916 | 1906 | ||
1917 | return 0; | 1907 | return 0; |
1918 | err_unrtty: | 1908 | err_unrtty: |