Commit 34b55b86 authored by Jiri Slaby's avatar Jiri Slaby Committed by Linus Torvalds
Browse files

[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: default avatarJiri Slaby <jirislaby@gmail.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 906cdecb
Loading
Loading
Loading
Loading
+4 −14
Original line number Diff line number Diff line
@@ -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 @@ static void isicom_tx(unsigned long _data)
 		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: