serial: Fold closing_* fields into the tty_port ones
authorAlan Cox <alan@linux.intel.com>
Sat, 19 Sep 2009 20:13:28 +0000 (13:13 -0700)
committerLive-CD User <linux@linux.site>
Sat, 19 Sep 2009 20:13:28 +0000 (13:13 -0700)
Remove some more serial specific use

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/serial/serial_core.c
include/linux/serial_core.h
include/linux/tty.h

index ea53b6f224b03889d693d6c1da6226b83e894da9..2d63b13e2f7e6b385f44248064e07c2d54f082ca 100644 (file)
@@ -651,10 +651,10 @@ static int uart_get_info(struct uart_state *state,
        tmp.flags           = port->flags;
        tmp.xmit_fifo_size  = port->fifosize;
        tmp.baud_base       = port->uartclk / 16;
-       tmp.close_delay     = state->close_delay / 10;
-       tmp.closing_wait    = state->closing_wait == USF_CLOSING_WAIT_NONE ?
+       tmp.close_delay     = state->port.close_delay / 10;
+       tmp.closing_wait    = state->port.closing_wait == USF_CLOSING_WAIT_NONE ?
                                ASYNC_CLOSING_WAIT_NONE :
-                               state->closing_wait / 10;
+                               state->port.closing_wait / 10;
        tmp.custom_divisor  = port->custom_divisor;
        tmp.hub6            = port->hub6;
        tmp.io_type         = port->iotype;
@@ -724,8 +724,8 @@ static int uart_set_info(struct uart_state *state,
                retval = -EPERM;
                if (change_irq || change_port ||
                    (new_serial.baud_base != port->uartclk / 16) ||
-                   (close_delay != state->close_delay) ||
-                   (closing_wait != state->closing_wait) ||
+                   (close_delay != state->port.close_delay) ||
+                   (closing_wait != state->port.closing_wait) ||
                    (new_serial.xmit_fifo_size &&
                     new_serial.xmit_fifo_size != port->fifosize) ||
                    (((new_flags ^ old_flags) & ~UPF_USR_MASK) != 0))
@@ -834,8 +834,8 @@ static int uart_set_info(struct uart_state *state,
        port->flags            = (port->flags & ~UPF_CHANGE_MASK) |
                                 (new_flags & UPF_CHANGE_MASK);
        port->custom_divisor   = new_serial.custom_divisor;
-       state->close_delay     = close_delay;
-       state->closing_wait    = closing_wait;
+       state->port.close_delay     = close_delay;
+       state->port.closing_wait    = closing_wait;
        if (new_serial.xmit_fifo_size)
                port->fifosize = new_serial.xmit_fifo_size;
        if (state->port.tty)
@@ -1297,8 +1297,8 @@ static void uart_close(struct tty_struct *tty, struct file *filp)
         */
        tty->closing = 1;
 
-       if (state->closing_wait != USF_CLOSING_WAIT_NONE)
-               tty_wait_until_sent(tty, msecs_to_jiffies(state->closing_wait));
+       if (state->port.closing_wait != USF_CLOSING_WAIT_NONE)
+               tty_wait_until_sent(tty, msecs_to_jiffies(state->port.closing_wait));
 
        /*
         * At this point, we stop accepting input.  To do this, we
@@ -1326,8 +1326,8 @@ static void uart_close(struct tty_struct *tty, struct file *filp)
        state->port.tty = NULL;
 
        if (state->port.blocked_open) {
-               if (state->close_delay)
-                       msleep_interruptible(state->close_delay);
+               if (state->port.close_delay)
+                       msleep_interruptible(state->port.close_delay);
        } else if (!uart_console(port)) {
                uart_change_pm(state, 3);
        }
@@ -2358,11 +2358,11 @@ int uart_register_driver(struct uart_driver *drv)
        for (i = 0; i < drv->nr; i++) {
                struct uart_state *state = drv->state + i;
 
-               state->close_delay     = 500;   /* .5 seconds */
-               state->closing_wait    = 30000; /* 30 seconds */
                mutex_init(&state->mutex);
 
                tty_port_init(&state->port);
+               state->port.close_delay     = 500;      /* .5 seconds */
+               state->port.closing_wait    = 30000;    /* 30 seconds */
                init_waitqueue_head(&state->delta_msr_wait);
                tasklet_init(&state->tlet, uart_tasklet_action,
                             (unsigned long)state);
index c1542703fbab2364d6b5c5778e07b80a5510a9a1..fd11d4d5a5711164677ee5448131ad008d106e51 100644 (file)
@@ -350,8 +350,6 @@ typedef unsigned int __bitwise__ uif_t;
  */
 struct uart_state {
        struct tty_port         port;
-       unsigned int            close_delay;            /* msec */
-       unsigned int            closing_wait;           /* msec */
 
 #define USF_CLOSING_WAIT_INF   (0)
 #define USF_CLOSING_WAIT_NONE  (~0U)
index ecb3d1ba3017a4738fdf7edf82ff9473fcdb8ce3..9fdc3d84baadd040eb6ac8af61597f6a8d9b8365 100644 (file)
@@ -206,8 +206,8 @@ struct tty_port {
        unsigned long           flags;          /* TTY flags ASY_*/
        struct mutex            mutex;          /* Locking */
        unsigned char           *xmit_buf;      /* Optional buffer */
-       int                     close_delay;    /* Close port delay */
-       int                     closing_wait;   /* Delay for output */
+       unsigned int            close_delay;    /* Close port delay */
+       unsigned int            closing_wait;   /* Delay for output */
        int                     drain_delay;    /* Set to zero if no pure time
                                                   based drain is needed else
                                                   set to size of fifo */