diff options
Diffstat (limited to 'drivers/char/rocket.c')
-rw-r--r-- | drivers/char/rocket.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/drivers/char/rocket.c b/drivers/char/rocket.c index e94a62e30fc4..76357c855ce3 100644 --- a/drivers/char/rocket.c +++ b/drivers/char/rocket.c | |||
@@ -106,6 +106,8 @@ | |||
106 | 106 | ||
107 | /****** RocketPort Local Variables ******/ | 107 | /****** RocketPort Local Variables ******/ |
108 | 108 | ||
109 | static void rp_do_poll(unsigned long dummy); | ||
110 | |||
109 | static struct tty_driver *rocket_driver; | 111 | static struct tty_driver *rocket_driver; |
110 | 112 | ||
111 | static struct rocket_version driver_version = { | 113 | static struct rocket_version driver_version = { |
@@ -116,7 +118,7 @@ static struct r_port *rp_table[MAX_RP_PORTS]; /* The main repository of | |||
116 | static unsigned int xmit_flags[NUM_BOARDS]; /* Bit significant, indicates port had data to transmit. */ | 118 | static unsigned int xmit_flags[NUM_BOARDS]; /* Bit significant, indicates port had data to transmit. */ |
117 | /* eg. Bit 0 indicates port 0 has xmit data, ... */ | 119 | /* eg. Bit 0 indicates port 0 has xmit data, ... */ |
118 | static atomic_t rp_num_ports_open; /* Number of serial ports open */ | 120 | static atomic_t rp_num_ports_open; /* Number of serial ports open */ |
119 | static struct timer_list rocket_timer; | 121 | static DEFINE_TIMER(rocket_timer, rp_do_poll, 0, 0); |
120 | 122 | ||
121 | static unsigned long board1; /* ISA addresses, retrieved from rocketport.conf */ | 123 | static unsigned long board1; /* ISA addresses, retrieved from rocketport.conf */ |
122 | static unsigned long board2; | 124 | static unsigned long board2; |
@@ -474,7 +476,6 @@ static void rp_do_transmit(struct r_port *info) | |||
474 | 476 | ||
475 | if (info->xmit_cnt < WAKEUP_CHARS) { | 477 | if (info->xmit_cnt < WAKEUP_CHARS) { |
476 | tty_wakeup(tty); | 478 | tty_wakeup(tty); |
477 | wake_up_interruptible(&tty->write_wait); | ||
478 | #ifdef ROCKETPORT_HAVE_POLL_WAIT | 479 | #ifdef ROCKETPORT_HAVE_POLL_WAIT |
479 | wake_up_interruptible(&tty->poll_wait); | 480 | wake_up_interruptible(&tty->poll_wait); |
480 | #endif | 481 | #endif |
@@ -1772,7 +1773,6 @@ static int rp_write(struct tty_struct *tty, | |||
1772 | end: | 1773 | end: |
1773 | if (info->xmit_cnt < WAKEUP_CHARS) { | 1774 | if (info->xmit_cnt < WAKEUP_CHARS) { |
1774 | tty_wakeup(tty); | 1775 | tty_wakeup(tty); |
1775 | wake_up_interruptible(&tty->write_wait); | ||
1776 | #ifdef ROCKETPORT_HAVE_POLL_WAIT | 1776 | #ifdef ROCKETPORT_HAVE_POLL_WAIT |
1777 | wake_up_interruptible(&tty->poll_wait); | 1777 | wake_up_interruptible(&tty->poll_wait); |
1778 | #endif | 1778 | #endif |
@@ -1841,7 +1841,6 @@ static void rp_flush_buffer(struct tty_struct *tty) | |||
1841 | info->xmit_cnt = info->xmit_head = info->xmit_tail = 0; | 1841 | info->xmit_cnt = info->xmit_head = info->xmit_tail = 0; |
1842 | spin_unlock_irqrestore(&info->slock, flags); | 1842 | spin_unlock_irqrestore(&info->slock, flags); |
1843 | 1843 | ||
1844 | wake_up_interruptible(&tty->write_wait); | ||
1845 | #ifdef ROCKETPORT_HAVE_POLL_WAIT | 1844 | #ifdef ROCKETPORT_HAVE_POLL_WAIT |
1846 | wake_up_interruptible(&tty->poll_wait); | 1845 | wake_up_interruptible(&tty->poll_wait); |
1847 | #endif | 1846 | #endif |
@@ -2371,12 +2370,6 @@ static int __init rp_init(void) | |||
2371 | return -ENOMEM; | 2370 | return -ENOMEM; |
2372 | 2371 | ||
2373 | /* | 2372 | /* |
2374 | * Set up the timer channel. | ||
2375 | */ | ||
2376 | init_timer(&rocket_timer); | ||
2377 | rocket_timer.function = rp_do_poll; | ||
2378 | |||
2379 | /* | ||
2380 | * Initialize the array of pointers to our own internal state | 2373 | * Initialize the array of pointers to our own internal state |
2381 | * structures. | 2374 | * structures. |
2382 | */ | 2375 | */ |