diff options
Diffstat (limited to 'drivers/tty/serial')
| -rw-r--r-- | drivers/tty/serial/Kconfig | 10 | ||||
| -rw-r--r-- | drivers/tty/serial/ifx6x60.c | 2 | ||||
| -rw-r--r-- | drivers/tty/serial/mxs-auart.c | 14 | ||||
| -rw-r--r-- | drivers/tty/serial/pmac_zilog.c | 12 |
4 files changed, 24 insertions, 14 deletions
diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig index 070b442c1f81..4720b4ba096a 100644 --- a/drivers/tty/serial/Kconfig +++ b/drivers/tty/serial/Kconfig | |||
| @@ -160,10 +160,12 @@ config SERIAL_KS8695_CONSOLE | |||
| 160 | 160 | ||
| 161 | config SERIAL_CLPS711X | 161 | config SERIAL_CLPS711X |
| 162 | tristate "CLPS711X serial port support" | 162 | tristate "CLPS711X serial port support" |
| 163 | depends on ARM && ARCH_CLPS711X | 163 | depends on ARCH_CLPS711X |
| 164 | select SERIAL_CORE | 164 | select SERIAL_CORE |
| 165 | default y | ||
| 165 | help | 166 | help |
| 166 | ::: To be written ::: | 167 | This enables the driver for the on-chip UARTs of the Cirrus |
| 168 | Logic EP711x/EP721x/EP731x processors. | ||
| 167 | 169 | ||
| 168 | config SERIAL_CLPS711X_CONSOLE | 170 | config SERIAL_CLPS711X_CONSOLE |
| 169 | bool "Support for console on CLPS711X serial port" | 171 | bool "Support for console on CLPS711X serial port" |
| @@ -173,9 +175,7 @@ config SERIAL_CLPS711X_CONSOLE | |||
| 173 | Even if you say Y here, the currently visible virtual console | 175 | Even if you say Y here, the currently visible virtual console |
| 174 | (/dev/tty0) will still be used as the system console by default, but | 176 | (/dev/tty0) will still be used as the system console by default, but |
| 175 | you can alter that using a kernel command line option such as | 177 | you can alter that using a kernel command line option such as |
| 176 | "console=ttyCL1". (Try "man bootparam" or see the documentation of | 178 | "console=ttyCL1". |
| 177 | your boot loader (lilo or loadlin) about how to pass options to the | ||
| 178 | kernel at boot time.) | ||
| 179 | 179 | ||
| 180 | config SERIAL_SAMSUNG | 180 | config SERIAL_SAMSUNG |
| 181 | tristate "Samsung SoC serial support" | 181 | tristate "Samsung SoC serial support" |
diff --git a/drivers/tty/serial/ifx6x60.c b/drivers/tty/serial/ifx6x60.c index 144cd3987d4c..3ad079ffd049 100644 --- a/drivers/tty/serial/ifx6x60.c +++ b/drivers/tty/serial/ifx6x60.c | |||
| @@ -1331,7 +1331,7 @@ static const struct spi_device_id ifx_id_table[] = { | |||
| 1331 | MODULE_DEVICE_TABLE(spi, ifx_id_table); | 1331 | MODULE_DEVICE_TABLE(spi, ifx_id_table); |
| 1332 | 1332 | ||
| 1333 | /* spi operations */ | 1333 | /* spi operations */ |
| 1334 | static const struct spi_driver ifx_spi_driver = { | 1334 | static struct spi_driver ifx_spi_driver = { |
| 1335 | .driver = { | 1335 | .driver = { |
| 1336 | .name = DRVNAME, | 1336 | .name = DRVNAME, |
| 1337 | .pm = &ifx_spi_pm, | 1337 | .pm = &ifx_spi_pm, |
diff --git a/drivers/tty/serial/mxs-auart.c b/drivers/tty/serial/mxs-auart.c index 2e341b81ff89..3a667eed63d6 100644 --- a/drivers/tty/serial/mxs-auart.c +++ b/drivers/tty/serial/mxs-auart.c | |||
| @@ -73,6 +73,7 @@ | |||
| 73 | #define AUART_CTRL0_CLKGATE (1 << 30) | 73 | #define AUART_CTRL0_CLKGATE (1 << 30) |
| 74 | 74 | ||
| 75 | #define AUART_CTRL2_CTSEN (1 << 15) | 75 | #define AUART_CTRL2_CTSEN (1 << 15) |
| 76 | #define AUART_CTRL2_RTSEN (1 << 14) | ||
| 76 | #define AUART_CTRL2_RTS (1 << 11) | 77 | #define AUART_CTRL2_RTS (1 << 11) |
| 77 | #define AUART_CTRL2_RXE (1 << 9) | 78 | #define AUART_CTRL2_RXE (1 << 9) |
| 78 | #define AUART_CTRL2_TXE (1 << 8) | 79 | #define AUART_CTRL2_TXE (1 << 8) |
| @@ -259,9 +260,12 @@ static void mxs_auart_set_mctrl(struct uart_port *u, unsigned mctrl) | |||
| 259 | 260 | ||
| 260 | u32 ctrl = readl(u->membase + AUART_CTRL2); | 261 | u32 ctrl = readl(u->membase + AUART_CTRL2); |
| 261 | 262 | ||
| 262 | ctrl &= ~AUART_CTRL2_RTS; | 263 | ctrl &= ~AUART_CTRL2_RTSEN; |
| 263 | if (mctrl & TIOCM_RTS) | 264 | if (mctrl & TIOCM_RTS) { |
| 264 | ctrl |= AUART_CTRL2_RTS; | 265 | if (u->state->port.flags & ASYNC_CTS_FLOW) |
| 266 | ctrl |= AUART_CTRL2_RTSEN; | ||
| 267 | } | ||
| 268 | |||
| 265 | s->ctrl = mctrl; | 269 | s->ctrl = mctrl; |
| 266 | writel(ctrl, u->membase + AUART_CTRL2); | 270 | writel(ctrl, u->membase + AUART_CTRL2); |
| 267 | } | 271 | } |
| @@ -359,9 +363,9 @@ static void mxs_auart_settermios(struct uart_port *u, | |||
| 359 | 363 | ||
| 360 | /* figure out the hardware flow control settings */ | 364 | /* figure out the hardware flow control settings */ |
| 361 | if (cflag & CRTSCTS) | 365 | if (cflag & CRTSCTS) |
| 362 | ctrl2 |= AUART_CTRL2_CTSEN; | 366 | ctrl2 |= AUART_CTRL2_CTSEN | AUART_CTRL2_RTSEN; |
| 363 | else | 367 | else |
| 364 | ctrl2 &= ~AUART_CTRL2_CTSEN; | 368 | ctrl2 &= ~(AUART_CTRL2_CTSEN | AUART_CTRL2_RTSEN); |
| 365 | 369 | ||
| 366 | /* set baud rate */ | 370 | /* set baud rate */ |
| 367 | baud = uart_get_baud_rate(u, termios, old, 0, u->uartclk); | 371 | baud = uart_get_baud_rate(u, termios, old, 0, u->uartclk); |
diff --git a/drivers/tty/serial/pmac_zilog.c b/drivers/tty/serial/pmac_zilog.c index 654755a990df..333c8d012b0e 100644 --- a/drivers/tty/serial/pmac_zilog.c +++ b/drivers/tty/serial/pmac_zilog.c | |||
| @@ -1348,10 +1348,16 @@ static int pmz_verify_port(struct uart_port *port, struct serial_struct *ser) | |||
| 1348 | static int pmz_poll_get_char(struct uart_port *port) | 1348 | static int pmz_poll_get_char(struct uart_port *port) |
| 1349 | { | 1349 | { |
| 1350 | struct uart_pmac_port *uap = (struct uart_pmac_port *)port; | 1350 | struct uart_pmac_port *uap = (struct uart_pmac_port *)port; |
| 1351 | int tries = 2; | ||
| 1351 | 1352 | ||
| 1352 | while ((read_zsreg(uap, R0) & Rx_CH_AV) == 0) | 1353 | while (tries) { |
| 1353 | udelay(5); | 1354 | if ((read_zsreg(uap, R0) & Rx_CH_AV) != 0) |
| 1354 | return read_zsdata(uap); | 1355 | return read_zsdata(uap); |
| 1356 | if (tries--) | ||
| 1357 | udelay(5); | ||
| 1358 | } | ||
| 1359 | |||
| 1360 | return NO_POLL_CHAR; | ||
| 1355 | } | 1361 | } |
| 1356 | 1362 | ||
| 1357 | static void pmz_poll_put_char(struct uart_port *port, unsigned char c) | 1363 | static void pmz_poll_put_char(struct uart_port *port, unsigned char c) |
