Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:
  serial: 8250: add serial transmitter fully empty test
This commit is contained in:
Linus Torvalds 2010-02-16 16:56:21 -08:00
commit b0483e78e5

View file

@ -83,6 +83,9 @@ static unsigned int skip_txen_test; /* force skip of txen test at init time */
#define PASS_LIMIT 256 #define PASS_LIMIT 256
#define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE)
/* /*
* We default to IRQ0 for the "no irq" hack. Some * We default to IRQ0 for the "no irq" hack. Some
* machine types want others as well - they're free * machine types want others as well - they're free
@ -1792,7 +1795,7 @@ static unsigned int serial8250_tx_empty(struct uart_port *port)
up->lsr_saved_flags |= lsr & LSR_SAVE_FLAGS; up->lsr_saved_flags |= lsr & LSR_SAVE_FLAGS;
spin_unlock_irqrestore(&up->port.lock, flags); spin_unlock_irqrestore(&up->port.lock, flags);
return lsr & UART_LSR_TEMT ? TIOCSER_TEMT : 0; return (lsr & BOTH_EMPTY) == BOTH_EMPTY ? TIOCSER_TEMT : 0;
} }
static unsigned int serial8250_get_mctrl(struct uart_port *port) static unsigned int serial8250_get_mctrl(struct uart_port *port)
@ -1850,8 +1853,6 @@ static void serial8250_break_ctl(struct uart_port *port, int break_state)
spin_unlock_irqrestore(&up->port.lock, flags); spin_unlock_irqrestore(&up->port.lock, flags);
} }
#define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE)
/* /*
* Wait for transmitter & holding register to empty * Wait for transmitter & holding register to empty
*/ */