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)
committerRaspbian kernel package updater <root@raspbian.org>
Thu, 9 Mar 2017 17:51:41 +0000 (17:51 +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 e2c33b9528d82ed7a2c27d083d7b1d222da68178..5a11ff833e1fd112ba04df3a427cd94bf6793ec5 100644 (file)
@@ -2441,7 +2441,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;