brcm2708: organize kernel patches
[openwrt/staging/dedeckeh.git] / target / linux / brcm2708 / patches-4.19 / 950-0472-tty-amba-pl011-allow-shared-interrupt.patch
diff --git a/target/linux/brcm2708/patches-4.19/950-0472-tty-amba-pl011-allow-shared-interrupt.patch b/target/linux/brcm2708/patches-4.19/950-0472-tty-amba-pl011-allow-shared-interrupt.patch
new file mode 100644 (file)
index 0000000..5d316bd
--- /dev/null
@@ -0,0 +1,28 @@
+From ea75a716955e85ad076dd2861ca9e41def406a1b Mon Sep 17 00:00:00 2001
+From: Doug Berger <opendmb@gmail.com>
+Date: Mon, 13 May 2019 20:59:45 +0200
+Subject: [PATCH] tty: amba-pl011: allow shared interrupt
+
+The PL011 register space includes all necessary status bits to
+determine whether a device instance requires handling in response
+to an interrupt. Therefore, multiple instances of the device could
+be serviced by a single shared interrupt, which is the case on BCM7211.
+
+Signed-off-by: Doug Berger <opendmb@gmail.com>
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ drivers/tty/serial/amba-pl011.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/tty/serial/amba-pl011.c
++++ b/drivers/tty/serial/amba-pl011.c
+@@ -1733,7 +1733,8 @@ static int pl011_allocate_irq(struct uar
+ {
+       pl011_write(uap->im, uap, REG_IMSC);
+-      return request_irq(uap->port.irq, pl011_int, 0, "uart-pl011", uap);
++      return request_irq(uap->port.irq, pl011_int, IRQF_SHARED, "uart-pl011",
++                         uap);
+ }
+ /*