vserver 1.9.3
[linux-2.6.git] / drivers / serial / 68360serial.c
index 64e296a..cd2d62c 100644 (file)
@@ -700,12 +700,8 @@ static void do_softint(void *private_)
        if (!tty)
                return;
 
-       if (test_and_clear_bit(RS_EVENT_WRITE_WAKEUP, &info->event)) {
-               if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) &&
-                   tty->ldisc.write_wakeup)
-                       (tty->ldisc.write_wakeup)(tty);
-               wake_up_interruptible(&tty->write_wait);
-       }
+       if (test_and_clear_bit(RS_EVENT_WRITE_WAKEUP, &info->event))
+               tty_wakeup(tty);
 }
 
 
@@ -1152,10 +1148,7 @@ static void rs_360_flush_buffer(struct tty_struct *tty)
        /* There is nothing to "flush", whatever we gave the CPM
         * is on its way out.
         */
-       wake_up_interruptible(&tty->write_wait);
-       if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) &&
-           tty->ldisc.write_wakeup)
-               (tty->ldisc.write_wakeup)(tty);
+       tty_wakeup(tty);
        info->flags &= ~TX_WAKEUP;
 }
 
@@ -1716,8 +1709,7 @@ static void rs_360_close(struct tty_struct *tty, struct file * filp)
        shutdown(info);
        if (tty->driver->flush_buffer)
                tty->driver->flush_buffer(tty);
-       if (tty->ldisc.flush_buffer)
-               tty->ldisc.flush_buffer(tty);
+       tty_ldisc_flush(tty);           
        tty->closing = 0;
        info->event = 0;
        info->tty = 0;
@@ -2592,7 +2584,7 @@ int rs_360_init(void)
                state->icount.rx = state->icount.tx = 0;
                state->icount.frame = state->icount.parity = 0;
                state->icount.overrun = state->icount.brk = 0;
-               printk(KERN_INFO "ttyS%02d at irq 0x%02x is an %s\n",
+               printk(KERN_INFO "ttyS%d at irq 0x%02x is an %s\n",
                       i, (unsigned int)(state->irq),
                       (state->smc_scc_num & NUM_IS_SCC) ? "SCC" : "SMC");