2014-12-22 14:44:34

by Pramod Gurav

[permalink] [raw]
Subject: [PATCH] tty: serial: msm_serial: Remove duplicate call to msm_set_baud_rate

The function 'msm_set_baud_rate' is called twice while setting up
msm console. Once in msm_console_setup and next when uart_set_options
calls port->ops->set_termios ie. msm_set_termios().

Remove the duplicate call in msm_console_setup. Tested on IFC6410
console.

Signed-off-by: Pramod Gurav <[email protected]>
---
drivers/tty/serial/msm_serial.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/tty/serial/msm_serial.c b/drivers/tty/serial/msm_serial.c
index dbc278d..4c4a250 100644
--- a/drivers/tty/serial/msm_serial.c
+++ b/drivers/tty/serial/msm_serial.c
@@ -945,7 +945,6 @@ static int __init msm_console_setup(struct console *co, char *options)

if (baud < 300 || baud > 115200)
baud = 115200;
- msm_set_baud_rate(port, baud);

msm_reset(port);

--
1.7.9.5


2014-12-30 00:43:37

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH] tty: serial: msm_serial: Remove duplicate call to msm_set_baud_rate

On 12/22/2014 6:44 AM, Pramod Gurav wrote:
> The function 'msm_set_baud_rate' is called twice while setting up
> msm console. Once in msm_console_setup and next when uart_set_options
> calls port->ops->set_termios ie. msm_set_termios().
>
> Remove the duplicate call in msm_console_setup. Tested on IFC6410
> console.
>
> Signed-off-by: Pramod Gurav <[email protected]>
> ---
> drivers/tty/serial/msm_serial.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/tty/serial/msm_serial.c b/drivers/tty/serial/msm_serial.c
> index dbc278d..4c4a250 100644
> --- a/drivers/tty/serial/msm_serial.c
> +++ b/drivers/tty/serial/msm_serial.c
> @@ -945,7 +945,6 @@ static int __init msm_console_setup(struct console *co, char *options)
>
> if (baud < 300 || baud > 115200)
> baud = 115200;
> - msm_set_baud_rate(port, baud);
>
> msm_reset(port);
>

There seems to be more stuff done in this console setup path that is
duplicated by the msm_set_termios() function. Can we clean it all up? I
would bet that the msm_reset() is there because we changed the buad rate
and so if we remove the baud rate setting we can remove the reset as
well (see commit a12f1b406f2d tty: serial: msm: Reset uartdm after baud
rate change, 2014-10-29). We might as well dump the
CR_CMD_PROTECTION_EN and CR_TX_ENABLE thing as well given that we do
the same in msm_set_baud_rate() already. And maybe we can even get rid
of the baud rate capping and forced 8N1 setting that goes on here too.
Just let the user do what they want?

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project