Merge tag 'tty-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
Pull TTY changes from Greg Kroah-Hartman: "As we skipped the merge window for 3.6-rc1 for the tty tree, everything is now settled down and working properly, so we are ready for 3.7-rc1. Here's the patchset, it's big, but the large changes are removing a firmware file and adding a staging tty driver (it depended on the tty core changes, so it's going through this tree instead of the staging tree.) All of these patches have been in the linux-next tree for a while. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>" Fix up more-or-less trivial conflicts in - drivers/char/pcmcia/synclink_cs.c: tty NULL dereference fix vs tty_port_cts_enabled() helper function - drivers/staging/{Kconfig,Makefile}: add-add conflict (dgrp driver added close to other staging drivers) - drivers/staging/ipack/devices/ipoctal.c: "split ipoctal_channel from iopctal" vs "TTY: use tty_port_register_device" * tag 'tty-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (235 commits) tty/serial: Add kgdb_nmi driver tty/serial/amba-pl011: Quiesce interrupts in poll_get_char tty/serial/amba-pl011: Implement poll_init callback tty/serial/core: Introduce poll_init callback kdb: Turn KGDB_KDB=n stubs into static inlines kdb: Implement disable_nmi command kernel/debug: Mask KGDB NMI upon entry serial: pl011: handle corruption at high clock speeds serial: sccnxp: Make 'default' choice in switch last serial: sccnxp: Remove mask termios caps for SW flow control serial: sccnxp: Report actual baudrate back to core serial: samsung: Add poll_get_char & poll_put_char Powerpc 8xx CPM_UART setting MAXIDL register proportionaly to baud rate Powerpc 8xx CPM_UART maxidl should not depend on fifo size Powerpc 8xx CPM_UART too many interrupts Powerpc 8xx CPM_UART desynchronisation serial: set correct baud_base for EXSYS EX-41092 Dual 16950 serial: omap: fix the reciever line error case 8250: blacklist Winbond CIR port 8250_pnp: do pnp probe before legacy probe ...
This commit is contained in:
@@ -518,7 +518,7 @@ static void sdio_uart_check_modem_status(struct sdio_uart_port *port)
|
||||
if (status & UART_MSR_DCTS) {
|
||||
port->icount.cts++;
|
||||
tty = tty_port_tty_get(&port->port);
|
||||
if (tty && (tty->termios->c_cflag & CRTSCTS)) {
|
||||
if (tty && (tty->termios.c_cflag & CRTSCTS)) {
|
||||
int cts = (status & UART_MSR_CTS);
|
||||
if (tty->hw_stopped) {
|
||||
if (cts) {
|
||||
@@ -671,12 +671,12 @@ static int sdio_uart_activate(struct tty_port *tport, struct tty_struct *tty)
|
||||
port->ier = UART_IER_RLSI|UART_IER_RDI|UART_IER_RTOIE|UART_IER_UUE;
|
||||
port->mctrl = TIOCM_OUT2;
|
||||
|
||||
sdio_uart_change_speed(port, tty->termios, NULL);
|
||||
sdio_uart_change_speed(port, &tty->termios, NULL);
|
||||
|
||||
if (tty->termios->c_cflag & CBAUD)
|
||||
if (tty->termios.c_cflag & CBAUD)
|
||||
sdio_uart_set_mctrl(port, TIOCM_RTS | TIOCM_DTR);
|
||||
|
||||
if (tty->termios->c_cflag & CRTSCTS)
|
||||
if (tty->termios.c_cflag & CRTSCTS)
|
||||
if (!(sdio_uart_get_mctrl(port) & TIOCM_CTS))
|
||||
tty->hw_stopped = 1;
|
||||
|
||||
@@ -850,7 +850,7 @@ static void sdio_uart_throttle(struct tty_struct *tty)
|
||||
{
|
||||
struct sdio_uart_port *port = tty->driver_data;
|
||||
|
||||
if (!I_IXOFF(tty) && !(tty->termios->c_cflag & CRTSCTS))
|
||||
if (!I_IXOFF(tty) && !(tty->termios.c_cflag & CRTSCTS))
|
||||
return;
|
||||
|
||||
if (sdio_uart_claim_func(port) != 0)
|
||||
@@ -861,7 +861,7 @@ static void sdio_uart_throttle(struct tty_struct *tty)
|
||||
sdio_uart_start_tx(port);
|
||||
}
|
||||
|
||||
if (tty->termios->c_cflag & CRTSCTS)
|
||||
if (tty->termios.c_cflag & CRTSCTS)
|
||||
sdio_uart_clear_mctrl(port, TIOCM_RTS);
|
||||
|
||||
sdio_uart_irq(port->func);
|
||||
@@ -872,7 +872,7 @@ static void sdio_uart_unthrottle(struct tty_struct *tty)
|
||||
{
|
||||
struct sdio_uart_port *port = tty->driver_data;
|
||||
|
||||
if (!I_IXOFF(tty) && !(tty->termios->c_cflag & CRTSCTS))
|
||||
if (!I_IXOFF(tty) && !(tty->termios.c_cflag & CRTSCTS))
|
||||
return;
|
||||
|
||||
if (sdio_uart_claim_func(port) != 0)
|
||||
@@ -887,7 +887,7 @@ static void sdio_uart_unthrottle(struct tty_struct *tty)
|
||||
}
|
||||
}
|
||||
|
||||
if (tty->termios->c_cflag & CRTSCTS)
|
||||
if (tty->termios.c_cflag & CRTSCTS)
|
||||
sdio_uart_set_mctrl(port, TIOCM_RTS);
|
||||
|
||||
sdio_uart_irq(port->func);
|
||||
@@ -898,12 +898,12 @@ static void sdio_uart_set_termios(struct tty_struct *tty,
|
||||
struct ktermios *old_termios)
|
||||
{
|
||||
struct sdio_uart_port *port = tty->driver_data;
|
||||
unsigned int cflag = tty->termios->c_cflag;
|
||||
unsigned int cflag = tty->termios.c_cflag;
|
||||
|
||||
if (sdio_uart_claim_func(port) != 0)
|
||||
return;
|
||||
|
||||
sdio_uart_change_speed(port, tty->termios, old_termios);
|
||||
sdio_uart_change_speed(port, &tty->termios, old_termios);
|
||||
|
||||
/* Handle transition to B0 status */
|
||||
if ((old_termios->c_cflag & CBAUD) && !(cflag & CBAUD))
|
||||
@@ -1132,8 +1132,8 @@ static int sdio_uart_probe(struct sdio_func *func,
|
||||
kfree(port);
|
||||
} else {
|
||||
struct device *dev;
|
||||
dev = tty_register_device(sdio_uart_tty_driver,
|
||||
port->index, &func->dev);
|
||||
dev = tty_port_register_device(&port->port,
|
||||
sdio_uart_tty_driver, port->index, &func->dev);
|
||||
if (IS_ERR(dev)) {
|
||||
sdio_uart_port_remove(port);
|
||||
ret = PTR_ERR(dev);
|
||||
|
Fai riferimento in un nuovo problema
Block a user