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)
committerpopcornmix <popcornmix@gmail.com>
Wed, 1 Jul 2020 15:32:35 +0000 (16:32 +0100)
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 de3e8c2..4ac9cda 100644 (file)
@@ -2576,7 +2576,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;