123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- From 4d3c17975c7814884a721fe693b3adf5c426d759 Mon Sep 17 00:00:00 2001
- From: Hauke Mehrtens <[email protected]>
- Date: Tue, 10 Nov 2015 22:18:39 +0100
- Subject: [RFC] serial: core: add support for boot console with arbitrary
- baud rates
- The Arduino Yun uses a baud rate of 250000 by default. The serial is
- going over the Atmel ATmega and is used to connect to this chip.
- Without this patch Linux wants to switch the console to 9600 Baud.
- With this patch Linux will use the configured baud rate and not a
- default one specified in uart_register_driver().
- Signed-off-by: Hauke Mehrtens <[email protected]>
- [rebased to 4.14, slightly reworded commit message]
- Signed-off-by: Sungbo Eo <[email protected]>
- ---
- drivers/tty/serial/serial_core.c | 6 +++++-
- include/linux/console.h | 1 +
- 2 files changed, 6 insertions(+), 1 deletions(-)
- --- a/drivers/tty/serial/serial_core.c
- +++ b/drivers/tty/serial/serial_core.c
- @@ -220,6 +220,8 @@ static int uart_port_startup(struct tty_
- if (retval == 0) {
- if (uart_console(uport) && uport->cons->cflag) {
- tty->termios.c_cflag = uport->cons->cflag;
- + tty->termios.c_ospeed = uport->cons->baud;
- + tty->termios.c_ispeed = uport->cons->baud;
- uport->cons->cflag = 0;
- }
- /*
- @@ -2108,8 +2110,10 @@ uart_set_options(struct uart_port *port,
- * Allow the setting of the UART parameters with a NULL console
- * too:
- */
- - if (co)
- + if (co) {
- co->cflag = termios.c_cflag;
- + co->baud = baud;
- + }
-
- return 0;
- }
- --- a/include/linux/console.h
- +++ b/include/linux/console.h
- @@ -153,6 +153,7 @@ struct console {
- short flags;
- short index;
- int cflag;
- + int baud;
- void *data;
- struct console *next;
- };
|