mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
TTY/Serial patches for 4.6-rc1
Here's the big tty/serial driver pull request for 4.6-rc1. Lots of changes in here, Peter has been on a tear again, with lots of refactoring and bugs fixes, many thanks to the great work he has been doing. Lots of driver updates and fixes as well, full details in the shortlog. All have been in linux-next for a while with no reported issues. Signed-off-by: Greg Kroah-Hartman <[email protected]> -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEABECAAYFAlbp8z8ACgkQMUfUDdst+ym1vwCgnOOCORaZyeQ4QrcxPAK5pHFn VrMAoNHvDgNYtG+Hmzv25Lgp3HnysPin =MLRG -----END PGP SIGNATURE----- Merge tag 'tty-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull tty/serial updates from Greg KH: "Here's the big tty/serial driver pull request for 4.6-rc1. Lots of changes in here, Peter has been on a tear again, with lots of refactoring and bugs fixes, many thanks to the great work he has been doing. Lots of driver updates and fixes as well, full details in the shortlog. All have been in linux-next for a while with no reported issues" * tag 'tty-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (220 commits) serial: 8250: describe CONFIG_SERIAL_8250_RSA serial: samsung: optimize UART rx fifo access routine serial: pl011: add mark/space parity support serial: sa1100: make sa1100_register_uart_fns a function tty: serial: 8250: add MOXA Smartio MUE boards support serial: 8250: convert drivers to use up_to_u8250p() serial: 8250/mediatek: fix building with SERIAL_8250=m serial: 8250/ingenic: fix building with SERIAL_8250=m serial: 8250/uniphier: fix modular build Revert "drivers/tty/serial: make 8250/8250_ingenic.c explicitly non-modular" Revert "drivers/tty/serial: make 8250/8250_mtk.c explicitly non-modular" serial: mvebu-uart: initial support for Armada-3700 serial port serial: mctrl_gpio: Add missing module license serial: ifx6x60: avoid uninitialized variable use tty/serial: at91: fix bad offset for UART timeout register tty/serial: at91: restore dynamic driver binding serial: 8250: Add hardware dependency to RT288X option TTY, devpts: document pty count limiting tty: goldfish: support platform_device with id -1 drivers: tty: goldfish: Add device tree bindings ...
This commit is contained in:
commit
96b9b1c956
139 changed files with 3447 additions and 3701 deletions
|
|
@ -147,10 +147,7 @@ static int usb_console_setup(struct console *co, char *options)
|
|||
kref_get(&tty->driver->kref);
|
||||
__module_get(tty->driver->owner);
|
||||
tty->ops = &usb_console_fake_tty_ops;
|
||||
if (tty_init_termios(tty)) {
|
||||
retval = -ENOMEM;
|
||||
goto put_tty;
|
||||
}
|
||||
tty_init_termios(tty);
|
||||
tty_port_tty_set(&port->port, tty);
|
||||
}
|
||||
|
||||
|
|
@ -185,7 +182,6 @@ static int usb_console_setup(struct console *co, char *options)
|
|||
|
||||
fail:
|
||||
tty_port_tty_set(&port->port, NULL);
|
||||
put_tty:
|
||||
tty_kref_put(tty);
|
||||
reset_open_count:
|
||||
port->port.count = 0;
|
||||
|
|
|
|||
|
|
@ -1165,8 +1165,7 @@ static void cypress_read_int_callback(struct urb *urb)
|
|||
|
||||
/* hangup, as defined in acm.c... this might be a bad place for it
|
||||
* though */
|
||||
if (tty && !(tty->termios.c_cflag & CLOCAL) &&
|
||||
!(priv->current_status & UART_CD)) {
|
||||
if (tty && !C_CLOCAL(tty) && !(priv->current_status & UART_CD)) {
|
||||
dev_dbg(dev, "%s - calling hangup\n", __func__);
|
||||
tty_hangup(tty);
|
||||
goto continue_read;
|
||||
|
|
|
|||
|
|
@ -695,11 +695,11 @@ static void digi_set_termios(struct tty_struct *tty,
|
|||
arg = -1;
|
||||
|
||||
/* reassert DTR and (maybe) RTS on transition from B0 */
|
||||
if ((old_cflag&CBAUD) == B0) {
|
||||
if ((old_cflag & CBAUD) == B0) {
|
||||
/* don't set RTS if using hardware flow control */
|
||||
/* and throttling input */
|
||||
modem_signals = TIOCM_DTR;
|
||||
if (!(tty->termios.c_cflag & CRTSCTS) ||
|
||||
if (!C_CRTSCTS(tty) ||
|
||||
!test_bit(TTY_THROTTLED, &tty->flags))
|
||||
modem_signals |= TIOCM_RTS;
|
||||
digi_set_modem_signals(port, modem_signals, 1);
|
||||
|
|
@ -1491,8 +1491,8 @@ static int digi_read_oob_callback(struct urb *urb)
|
|||
|
||||
rts = 0;
|
||||
if (tty)
|
||||
rts = tty->termios.c_cflag & CRTSCTS;
|
||||
|
||||
rts = C_CRTSCTS(tty);
|
||||
|
||||
if (tty && opcode == DIGI_CMD_READ_INPUT_SIGNALS) {
|
||||
spin_lock(&priv->dp_port_lock);
|
||||
/* convert from digi flags to termiox flags */
|
||||
|
|
|
|||
|
|
@ -1398,7 +1398,7 @@ static void edge_throttle(struct tty_struct *tty)
|
|||
}
|
||||
|
||||
/* if we are implementing RTS/CTS, toggle that line */
|
||||
if (tty->termios.c_cflag & CRTSCTS) {
|
||||
if (C_CRTSCTS(tty)) {
|
||||
edge_port->shadowMCR &= ~MCR_RTS;
|
||||
status = send_cmd_write_uart_register(edge_port, MCR,
|
||||
edge_port->shadowMCR);
|
||||
|
|
@ -1435,7 +1435,7 @@ static void edge_unthrottle(struct tty_struct *tty)
|
|||
return;
|
||||
}
|
||||
/* if we are implementing RTS/CTS, toggle that line */
|
||||
if (tty->termios.c_cflag & CRTSCTS) {
|
||||
if (C_CRTSCTS(tty)) {
|
||||
edge_port->shadowMCR |= MCR_RTS;
|
||||
send_cmd_write_uart_register(edge_port, MCR,
|
||||
edge_port->shadowMCR);
|
||||
|
|
|
|||
|
|
@ -428,7 +428,7 @@ static int mct_u232_open(struct tty_struct *tty, struct usb_serial_port *port)
|
|||
* either.
|
||||
*/
|
||||
spin_lock_irqsave(&priv->lock, flags);
|
||||
if (tty && (tty->termios.c_cflag & CBAUD))
|
||||
if (tty && C_BAUD(tty))
|
||||
priv->control_state = TIOCM_DTR | TIOCM_RTS;
|
||||
else
|
||||
priv->control_state = 0;
|
||||
|
|
|
|||
|
|
@ -1308,7 +1308,7 @@ static void mos7720_throttle(struct tty_struct *tty)
|
|||
}
|
||||
|
||||
/* if we are implementing RTS/CTS, toggle that line */
|
||||
if (tty->termios.c_cflag & CRTSCTS) {
|
||||
if (C_CRTSCTS(tty)) {
|
||||
mos7720_port->shadowMCR &= ~UART_MCR_RTS;
|
||||
write_mos_reg(port->serial, port->port_number, MOS7720_MCR,
|
||||
mos7720_port->shadowMCR);
|
||||
|
|
@ -1338,7 +1338,7 @@ static void mos7720_unthrottle(struct tty_struct *tty)
|
|||
}
|
||||
|
||||
/* if we are implementing RTS/CTS, toggle that line */
|
||||
if (tty->termios.c_cflag & CRTSCTS) {
|
||||
if (C_CRTSCTS(tty)) {
|
||||
mos7720_port->shadowMCR |= UART_MCR_RTS;
|
||||
write_mos_reg(port->serial, port->port_number, MOS7720_MCR,
|
||||
mos7720_port->shadowMCR);
|
||||
|
|
|
|||
|
|
@ -1425,7 +1425,7 @@ static void mos7840_throttle(struct tty_struct *tty)
|
|||
return;
|
||||
}
|
||||
/* if we are implementing RTS/CTS, toggle that line */
|
||||
if (tty->termios.c_cflag & CRTSCTS) {
|
||||
if (C_CRTSCTS(tty)) {
|
||||
mos7840_port->shadowMCR &= ~MCR_RTS;
|
||||
status = mos7840_set_uart_reg(port, MODEM_CONTROL_REGISTER,
|
||||
mos7840_port->shadowMCR);
|
||||
|
|
@ -1466,7 +1466,7 @@ static void mos7840_unthrottle(struct tty_struct *tty)
|
|||
}
|
||||
|
||||
/* if we are implementing RTS/CTS, toggle that line */
|
||||
if (tty->termios.c_cflag & CRTSCTS) {
|
||||
if (C_CRTSCTS(tty)) {
|
||||
mos7840_port->shadowMCR |= MCR_RTS;
|
||||
status = mos7840_set_uart_reg(port, MODEM_CONTROL_REGISTER,
|
||||
mos7840_port->shadowMCR);
|
||||
|
|
|
|||
Loading…
Reference in a new issue