From: Andy Shevchenko Date: Mon, 22 Nov 2021 13:35:12 +0000 (+0200) Subject: serial: 8250_pericom: Use serial_dl_write() instead of open coded X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=46dacba8fea90d4b2562d45e8ca132f20a9ff5ce;p=linux.git serial: 8250_pericom: Use serial_dl_write() instead of open coded It's better to stick with standard API to write and read DL value when the hardware is compatible with it. In case any quirks are needed it may be easily added in one place rather than modifying code here and there. Signed-off-by: Andy Shevchenko Link: https://lore.kernel.org/r/20211122133512.8947-4-andriy.shevchenko@linux.intel.com Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/tty/serial/8250/8250_pericom.c b/drivers/tty/serial/8250/8250_pericom.c index f0d026325f17d..025b055363c3d 100644 --- a/drivers/tty/serial/8250/8250_pericom.c +++ b/drivers/tty/serial/8250/8250_pericom.c @@ -70,11 +70,11 @@ static void pericom_do_set_divisor(struct uart_port *port, unsigned int baud, /* Update delta due to possible divisor change */ delta = maxrate / divisor - baud; if (abs(delta) < baud / 50) { + struct uart_8250_port *up = up_to_u8250p(port); int lcr = serial_port_in(port, UART_LCR); serial_port_out(port, UART_LCR, lcr | 0x80); - serial_port_out(port, UART_DLL, divisor & 0xff); - serial_port_out(port, UART_DLM, (divisor >> 8) & 0xff); + serial_dl_write(up, divisor); serial_port_out(port, 2, 16 - scr); serial_port_out(port, UART_LCR, lcr); return;