Parcourir la source

[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>
Jiri Slaby il y a 18 ans
Parent
commit
34b55b865e
1 fichiers modifiés avec 4 ajouts et 14 suppressions
  1. 4 14
      drivers/char/isicom.c

+ 4 - 14
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 struct tty_driver *isicom_normal;
 
 
 static DECLARE_COMPLETION(isi_timerdone);
 static DECLARE_COMPLETION(isi_timerdone);
-static struct timer_list tx;
 static char re_schedule = 1;
 static char re_schedule = 1;
 
 
 static void isicom_tx(unsigned long _data);
 static void isicom_tx(unsigned long _data);
 static void isicom_start(struct tty_struct *tty);
 static void isicom_start(struct tty_struct *tty);
 
 
+static DEFINE_TIMER(tx, isicom_tx, 0, 0);
+
 /*   baud index mappings from linux defns to isi */
 /*   baud index mappings from linux defns to isi */
 
 
 static signed char linuxb_to_isib[] = {
 static signed char linuxb_to_isib[] = {
@@ -519,13 +520,7 @@ sched_again:
  		return;
  		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 	*/
 /* 	Interrupt handlers 	*/
@@ -1907,12 +1902,7 @@ static int __init isicom_init(void)
 		goto err_unrtty;
 		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;
 	return 0;
 err_unrtty:
 err_unrtty: