This series reworks DW UART's write logic such that the write in ->serial_out() is reused for LCR retries which allows removing those ugly duplicated writes in dw8250_check_lcr() (renamed to dw8250_verify_write() by this series). I've used label+goto since the retry is really an exceptional thing. If somebody insists, I can convert those to do {} while (); but I feel it will give wrong impression that there's a "loop" there. Ilpo Järvinen (4): serial: 8250_dw: Use dw8250_serial_out() in dw8250_serial_out38x() serial: 8250_dw: Rename offset to reg_offset serial: 8250_dw: Move 16550 compatible & LCR checks to dw8250_verify_write() serial: 8250_dw: Rework ->serial_out() LCR write retry logic drivers/tty/serial/8250/8250_dw.c | 90 ++++++++++++++++--------------- 1 file changed, 47 insertions(+), 43 deletions(-) -- 2.30.2