amba_pl011: Don't use DT aliases for numbering
authorPhil Elwell <phil@raspberrypi.org>
Tue, 23 Feb 2016 17:26:48 +0000 (17:26 +0000)
committerDom Cobley <popcornmix@gmail.com>
Mon, 21 Mar 2022 16:03:48 +0000 (16:03 +0000)
The pl011 driver looks for DT aliases of the form "serial<n>",
and if found uses <n> as the device ID. This can cause
/dev/ttyAMA0 to become /dev/ttyAMA1, which is confusing if the
other serial port is provided by the 8250 driver which doesn't
use the same logic.

drivers/tty/serial/amba-pl011.c

index da54f82..6f22939 100644 (file)
@@ -2733,7 +2733,12 @@ static int pl011_setup_port(struct device *dev, struct uart_amba_port *uap,
        if (IS_ERR(base))
                return PTR_ERR(base);
 
+       /* Don't use DT serial<n> aliases - it causes the device to
+          be renumbered to ttyAMA1 if it is the second serial port in the
+          system, even though the other one is ttyS0. The 8250 driver
+          doesn't use this logic, so always remains ttyS0.
        index = pl011_probe_dt_alias(index, dev);
+       */
 
        uap->old_cr = 0;
        uap->port.dev = dev;