Re: linux-next: manual merge of the tty tree with the tty.current tree

From: Stephen Rothwell
Date: Tue Oct 03 2023 - 22:14:51 EST


Hi all,

On Wed, 4 Oct 2023 12:55:31 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> Today's linux-next merge of the tty tree got a conflict in:
>
> drivers/tty/serial/serial_core.c
>
> between commit:
>
> 8679328eb859 ("serial: Reduce spinlocked portion of uart_rs485_config()")
>
> from the tty.current tree and commit:
>
> 559c7ff4e324 ("serial: core: Use port lock wrappers")
>
> from the tty tree.
>
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging. You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.

Not quite right :-( This is what I used:

diff --cc drivers/tty/serial/serial_core.c
index ca26a8aef2cb,b32bbd7aa3d3..ae1d6782ea0e
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@@ -1413,9 -1409,7 +1413,9 @@@ static int uart_rs485_config(struct uar
uart_sanitize_serial_rs485(port, rs485);
uart_set_rs485_termination(port, rs485);

- spin_lock_irqsave(&port->lock, flags);
++ uart_port_lock_irqsave(port, &flags);
ret = port->rs485_config(port, NULL, rs485);
- spin_unlock_irqrestore(&port->lock, flags);
++ uart_port_unlock_irqrestore(port, flags);
if (ret)
memset(rs485, 0, sizeof(*rs485));

@@@ -2480,12 -2474,13 +2480,12 @@@ int uart_resume_port(struct uart_drive
if (ret == 0) {
if (tty)
uart_change_line_settings(tty, state, NULL);
+ uart_rs485_config(uport);
- spin_lock_irq(&uport->lock);
+ uart_port_lock_irq(uport);
if (!(uport->rs485.flags & SER_RS485_ENABLED))
ops->set_mctrl(uport, uport->mctrl);
- else
- uart_rs485_config(uport);
ops->start_tx(uport);
- spin_unlock_irq(&uport->lock);
+ uart_port_unlock_irq(uport);
tty_port_set_initialized(port, true);
} else {
/*
@@@ -2592,10 -2587,10 +2592,10 @@@ uart_configure_port(struct uart_driver
port->mctrl &= TIOCM_DTR;
if (!(port->rs485.flags & SER_RS485_ENABLED))
port->ops->set_mctrl(port, port->mctrl);
- spin_unlock_irqrestore(&port->lock, flags);
- else
- uart_rs485_config(port);
+ uart_port_unlock_irqrestore(port, flags);

+ uart_rs485_config(port);
+
/*
* If this driver supports console, and it hasn't been
* successfully registered yet, try to re-register it.


--
Cheers,
Stephen Rothwell

Attachment: pgpdQitak9sFS.pgp
Description: OpenPGP digital signature