Re: [PATCH v7 4/6] serial: take termios_rwsem for .rs485_config() & pass termios as param

From: Andy Shevchenko
Date: Wed Jun 15 2022 - 10:06:47 EST


On Wed, Jun 15, 2022 at 03:48:27PM +0300, Ilpo Järvinen wrote:
> To be able to alter ADDRB within .rs485_config(), take termios_rwsem
> before calling .rs485_config() and pass termios.

I would use ->rs485_config() as a reference to the callback.

...

> - ret = port->rs485_config(port, rs485);
> + ret = port->rs485_config(port, rs485, NULL);

> +

Stray change?

> if (ret)
> memset(rs485, 0, sizeof(*rs485));

...

> void (*handle_break)(struct uart_port *);
> int (*rs485_config)(struct uart_port *,
> - struct serial_rs485 *rs485);
> + struct serial_rs485 *rs485,
> + struct ktermios *termios);

Dunno if termios has to be second parameter. The idea is to pass input data
followed by (auxiliary) output as usual pattern.

> int (*iso7816_config)(struct uart_port *,
> struct serial_iso7816 *iso7816);

--
With Best Regards,
Andy Shevchenko