mbox series

[0/6] USB: serial: cp210x: clean up termios handling

Message ID 20201116161826.29417-1-johan@kernel.org (mailing list archive)
Headers show
Series USB: serial: cp210x: clean up termios handling | expand

Message

Johan Hovold Nov. 16, 2020, 4:18 p.m. UTC
Unlike other drivers cp210x have been retrieving the current terminal
settings from the device on open and reflecting those in termios.
    
Due to how set_termios() was implemented this saved a few control
requests on open but has instead caused problems like broken flow
control and has required adding workarounds for swapped line-control in
cp2108 and line-speed initialisation on cp2104.

This unusual implementation also complicates adding new features for no
good reason.

Rip out the corresponding code and the above mentioned workarounds and
instead initialise the terminal settings unconditionally on open.

Johan


Johan Hovold (6):
  USB: serial: cp210x: return early on unchanged termios
  USB: serial: cp210x: clean up line-control handling
  USB: serial: cp210x: set terminal settings on open
  USB: serial: cp210x: drop flow-control debugging
  USB: serial: cp210x: refactor flow-control handling
  USB: serial: cp210x: clean up dts_rts

 drivers/usb/serial/cp210x.c | 499 ++++++++----------------------------
 1 file changed, 104 insertions(+), 395 deletions(-)

Comments

Johan Hovold Dec. 4, 2020, 1:59 p.m. UTC | #1
On Mon, Nov 16, 2020 at 05:18:20PM +0100, Johan Hovold wrote:
> Unlike other drivers cp210x have been retrieving the current terminal
> settings from the device on open and reflecting those in termios.
>     
> Due to how set_termios() was implemented this saved a few control
> requests on open but has instead caused problems like broken flow
> control and has required adding workarounds for swapped line-control in
> cp2108 and line-speed initialisation on cp2104.
> 
> This unusual implementation also complicates adding new features for no
> good reason.
> 
> Rip out the corresponding code and the above mentioned workarounds and
> instead initialise the terminal settings unconditionally on open.

> Johan Hovold (6):
>   USB: serial: cp210x: return early on unchanged termios
>   USB: serial: cp210x: clean up line-control handling
>   USB: serial: cp210x: set terminal settings on open
>   USB: serial: cp210x: drop flow-control debugging
>   USB: serial: cp210x: refactor flow-control handling
>   USB: serial: cp210x: clean up dts_rts
> 
>  drivers/usb/serial/cp210x.c | 499 ++++++++----------------------------
>  1 file changed, 104 insertions(+), 395 deletions(-)

I have applied this series for -next now.

Johan