Re: [PATCH] serial: set RTS and DTR if flow is 'r'

From: Randy Dunlap
Date: Mon May 14 2007 - 13:50:37 EST


On Mon, 14 May 2007 10:26:26 -0700 Yinghai Lu wrote:

> [PATCH] serial: set RTS and DTR if flow is 'r'
>
> if the serial console flow is set to 'r', We need to set RTS and DTR.
> Some UARTs on other side need these bit set, otherwise will send char to or
> receive char from the host that kernel is runing esp for kernel boot stage.
>
> BTW:
> earlyprintk and early_uart are hard coded to set DTR/RTS.
>
> Signed-off-by: Yinghai Lu <yinghai.lu@xxxxxxx>
> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx>
> Cc: Andi Kleen <ak@xxxxxxx>
> Cc: Bjorn Helgaas <bjorn.helgaas@xxxxxx>
>
> diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
> index 48e259a..439a00a 100644
> --- a/drivers/serial/8250.c
> +++ b/drivers/serial/8250.c
> @@ -2154,6 +2154,16 @@ serial8250_set_termios(struct uart_port *port,
> struct ktermios *termios,
> }
> serial_outp(up, UART_FCR, fcr); /* set fcr */

Something is eating tabs above and presumably in the new patch lines...

> }
> +
> + /* if serial console flow is 'r', we need to set RTS and DTR to MCR.
> + * some uarts on other side don't support no flow control. So we state
> + * console=ttyS0,9600n8r in kernel command line to make those uart can
> + * work.
> + */

/*
* Linux long comment style is
* like this.
*/

> + if (termios->c_cflag & CRTSCTS) {
> + up->port.mctrl |= TIOCM_RTS | TIOCM_DTR;
> + }

Don't use braces on one-statement blocks.

> +
> serial8250_set_mctrl(&up->port, up->port.mctrl);
> spin_unlock_irqrestore(&up->port.lock, flags);
> }



---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/