Re: [PATCH 1/5] serial: 8250: extract serial8250_init_mctrl()

From: Andy Shevchenko
Date: Mon Jun 23 2025 - 14:12:20 EST


Mon, Jun 23, 2025 at 09:46:02AM +0200, Jiri Slaby (SUSE) kirjoitti:
> 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.

...

> +static void serial8250_init_mctrl(struct uart_port *port)
> +{
> + struct uart_8250_port *up = up_to_u8250p(port);
> +
> + if (up->port.flags & UPF_FOURPORT) {
> + if (!up->port.irq)
> + up->port.mctrl |= TIOCM_OUT1;

I am not sure I understand why it was changed from using port directly to
up->port.

> + } else
> + /*
> + * Most PC uarts need OUT2 raised to enable interrupts.
> + */
> + if (port->irq)
> + up->port.mctrl |= TIOCM_OUT2;

Having {} in this branch is also better.

> + serial8250_set_mctrl(port, port->mctrl);
> +}

...

I specifically left below to point out the original code.

> - if (port->flags & UPF_FOURPORT) {
> - if (!port->irq)
> - port->mctrl |= TIOCM_OUT1;
> - } else {
> - /* Most PC uarts need OUT2 raised to enable interrupts. */
> - if (port->irq)
> - port->mctrl |= TIOCM_OUT2;
> - }

--
With Best Regards,
Andy Shevchenko