diff options
author | Matt Schulte <matts@commtech-fastcom.com> | 2012-11-21 19:39:07 +0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-11-22 04:30:03 +0400 |
commit | 81db0772dc16b31185418f51ce6a1c0098a84367 (patch) | |
tree | c30d04eb6ae24f9cebbe7860e8c169cd4784dbf1 /drivers/tty | |
parent | f965b9c46bf832daff8e31796486e7e424bd72c5 (diff) | |
download | linux-81db0772dc16b31185418f51ce6a1c0098a84367.tar.xz |
tty/8250: Add sleep capability to XR17D15X ports
Add sleep capability to XR17D15X ports
Signed-off-by: Matt Schulte <matts@commtech-fastcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty')
-rw-r--r-- | drivers/tty/serial/8250/8250.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/tty/serial/8250/8250.c b/drivers/tty/serial/8250/8250.c index 39d970719f7d..4ab8af797ad9 100644 --- a/drivers/tty/serial/8250/8250.c +++ b/drivers/tty/serial/8250/8250.c @@ -280,7 +280,8 @@ static const struct serial8250_config uart_config[] = { .fifo_size = 64, .tx_loadsz = 64, .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10, - .flags = UART_CAP_FIFO | UART_CAP_AFE | UART_CAP_EFR, + .flags = UART_CAP_FIFO | UART_CAP_AFE | UART_CAP_EFR | + UART_CAP_SLEEP, }, [PORT_XR17V35X] = { .name = "XR17V35X", @@ -591,7 +592,8 @@ static void serial8250_set_sleep(struct uart_8250_port *p, int sleep) * offset but the UART channel may only write to the corresponding * bit. */ - if (p->port.type == PORT_XR17V35X) { + if ((p->port.type == PORT_XR17V35X) || + (p->port.type == PORT_XR17D15X)) { serial_out(p, UART_EXAR_SLEEP, 0xff); return; } @@ -1056,8 +1058,12 @@ static void autoconfig_16550a(struct uart_8250_port *up) * Exar uarts have EFR in a weird location */ if (up->port.flags & UPF_EXAR_EFR) { + DEBUG_AUTOCONF("Exar XR17D15x "); up->port.type = PORT_XR17D15X; - up->capabilities |= UART_CAP_AFE | UART_CAP_EFR; + up->capabilities |= UART_CAP_AFE | UART_CAP_EFR | + UART_CAP_SLEEP; + + return; } /* |