Re: [PATCH 6/8] serial: 8250: Copy mctrl when register port.
From: Aaron Sierra
Date: Wed Jun 06 2018 - 10:37:56 EST
----- Original Message -----
> From: "Giulio Benetti" <giulio.benetti@xxxxxxxxxxxxxxxx>
> Sent: Friday, June 1, 2018 7:40:19 AM
> RS485 can modify mctrl on startup, especially when RTS_AFTER_SEND is on
> TIOCM_RTS is set, then need to keep it set when registering port.
>
> Copy mctrl to new port too.
>
> Signed-off-by: Giulio Benetti <giulio.benetti@xxxxxxxxxxxxxxxx>
> ---
> drivers/tty/serial/8250/8250_core.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/tty/serial/8250/8250_core.c
> b/drivers/tty/serial/8250/8250_core.c
> index c8c2b260c681..c8e62fbd6570 100644
> --- a/drivers/tty/serial/8250/8250_core.c
> +++ b/drivers/tty/serial/8250/8250_core.c
> @@ -993,6 +993,7 @@ int serial8250_register_8250_port(struct uart_8250_port *up)
> uart->port.unthrottle = up->port.unthrottle;
> uart->port.rs485_config = up->port.rs485_config;
> uart->port.rs485 = up->port.rs485;
> + uart->port.mctrl = up->port.mctrl;
Hi Guilio,
I ran into this same thing about six months ago, but I was able to
accomplish what I needed by assigning a set_mctrl() function in my
port definition. Perhaps that would be enough for your case, too?
You should see a little lower in this file that set_mctrl is copied
to the new port.
-Aaron
> uart->dma = up->dma;
> uart->em485 = up->em485;
>
> --
> 2.17.0