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

Andy Shevchenko andriy.shevchenko at linux.intel.com
Wed Jun 15 07:05:29 PDT 2022


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





More information about the linux-arm-kernel mailing list