Messages in this thread | | | Subject | Re: [PATCH 6/8] serial: 8250: Copy mctrl when register port. | From | Giulio Benetti <> | Date | Wed, 6 Jun 2018 16:44:13 +0200 |
| |
Hi Aaron,
Il 06/06/2018 16:31, Aaron Sierra ha scritto: > ----- Original Message ----- >> From: "Giulio Benetti" <giulio.benetti@micronovasrl.com> >> 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@micronovasrl.com> >> --- >> 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?
Thanks for pointing me. But wouldn't it be better copying mctrl? In any case, serial8250_register_8250_port() will call: - uart_add_one_port() - uart_configure_port() - port->ops->set_mctrl(port, mctrl);
So it would be a double call IMHO. Are there any drawbacks on doing what I'm saying? Maybe I'm missing something.
> 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
-- Giulio Benetti CTO
MICRONOVA SRL Sede: Via A. Niedda 3 - 35010 Vigonza (PD) Tel. 049/8931563 - Fax 049/8931346 Cod.Fiscale - P.IVA 02663420285 Capitale Sociale € 26.000 i.v. Iscritta al Reg. Imprese di Padova N. 02663420285 Numero R.E.A. 258642
| |