serial_core: Add wake_peer uart operation which is called before starting UART TX...
authorSan Mehat <san@google.com>
Thu, 30 Jul 2009 03:21:28 +0000 (20:21 -0700)
committerColin Cross <ccross@android.com>
Tue, 14 Jun 2011 16:09:15 +0000 (09:09 -0700)
Signed-off-by: San Mehat <san@google.com>
drivers/tty/serial/serial_core.c
include/linux/serial_core.h

index db7912cb7ae041a71a901437d3c835ee242530a9..62ba22f7d318cf1bd2da8f9b394e92cdfeefe505 100644 (file)
@@ -91,6 +91,9 @@ static void __uart_start(struct tty_struct *tty)
        struct uart_state *state = tty->driver_data;
        struct uart_port *port = state->uart_port;
 
+       if (port->ops->wake_peer)
+               port->ops->wake_peer(port);
+
        if (!uart_circ_empty(&state->xmit) && state->xmit.buf &&
            !tty->stopped && !tty->hw_stopped)
                port->ops->start_tx(port);
index a5c31146a337dff33441ec6f61f3af92861f6a8e..0d239897b2f48730719607400ca1431334f8e1dc 100644 (file)
@@ -245,6 +245,7 @@ struct uart_ops {
        void            (*pm)(struct uart_port *, unsigned int state,
                              unsigned int oldstate);
        int             (*set_wake)(struct uart_port *, unsigned int state);
+       void            (*wake_peer)(struct uart_port *);
 
        /*
         * Return a string describing the type of the port