@@ -2216,15 +2216,8 @@ static void serial8250_THRE_test(struct uart_port *port)
up->bugs |= UART_BUG_THRE;
}
-static void serial8250_initialize(struct uart_port *port)
+static void serial8250_init_mctrl(struct uart_port *port)
{
- struct uart_8250_port *up = up_to_u8250p(port);
- unsigned long flags;
- bool lsr_TEMT, iir_NOINT;
-
- serial_port_out(port, UART_LCR, UART_LCR_WLEN8);
-
- uart_port_lock_irqsave(port, &flags);
if (port->flags & UPF_FOURPORT) {
if (!port->irq)
port->mctrl |= TIOCM_OUT1;
@@ -2235,6 +2228,18 @@ static void serial8250_initialize(struct uart_port *port)
}
serial8250_set_mctrl(port, port->mctrl);
+}
+
+static void serial8250_initialize(struct uart_port *port)
+{
+ struct uart_8250_port *up = up_to_u8250p(port);
+ unsigned long flags;
+ bool lsr_TEMT, iir_NOINT;
+
+ serial_port_out(port, UART_LCR, UART_LCR_WLEN8);
+
+ uart_port_lock_irqsave(port, &flags);
+ serial8250_init_mctrl(port);
/*
* Serial over Lan (SoL) hack:
After commit 795158691cc0 ("serial: 8250: extract serial8250_initialize()"), split serial8250_initialize() even more -- the mctrl part of this code can be separated into serial8250_init_mctrl() -- done now. Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> Suggested-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Cc: Andy Shevchenko <andy.shevchenko@gmail.com> --- [v2] * use port-> directly. * do not remove curly braces. Both rebase errors -- noticed by Andy. --- drivers/tty/serial/8250/8250_port.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-)