aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/patches-4.4/000-4.8-11-serial-bcm63xx_uart-use-correct-alias-naming.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm63xx/patches-4.4/000-4.8-11-serial-bcm63xx_uart-use-correct-alias-naming.patch')
-rw-r--r--target/linux/brcm63xx/patches-4.4/000-4.8-11-serial-bcm63xx_uart-use-correct-alias-naming.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/patches-4.4/000-4.8-11-serial-bcm63xx_uart-use-correct-alias-naming.patch b/target/linux/brcm63xx/patches-4.4/000-4.8-11-serial-bcm63xx_uart-use-correct-alias-naming.patch
new file mode 100644
index 0000000000..9f4e21aab5
--- /dev/null
+++ b/target/linux/brcm63xx/patches-4.4/000-4.8-11-serial-bcm63xx_uart-use-correct-alias-naming.patch
@@ -0,0 +1,37 @@
+From a59388668d0ce19dadea909e09f4eb905a27b1ce Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jogo@openwrt.org>
+Date: Wed, 8 Jun 2016 12:08:43 +0200
+Subject: [PATCH] serial/bcm63xx_uart: use correct alias naming
+
+The bcm63xx_uart driver uses the of alias for determing its id. Recent
+changes in dts files changed the expected 'uartX' to the recommended
+'serialX', breaking serial output. Fix this by checking for a 'serialX'
+alias as well.
+
+Fixes: e3b992d028f8 ("MIPS: BMIPS: Improve BCM6328 device tree")
+Fixes: 2d52ee82b475 ("MIPS: BMIPS: Improve BCM6368 device tree")
+Fixes: 7537d273e2f3 ("MIPS: BMIPS: Add device tree example for BCM6358")
+Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+Acked-by: Florian Fainelli <f.fainelli@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/tty/serial/bcm63xx_uart.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+--- a/drivers/tty/serial/bcm63xx_uart.c
++++ b/drivers/tty/serial/bcm63xx_uart.c
+@@ -813,8 +813,12 @@ static int bcm_uart_probe(struct platfor
+ struct clk *clk;
+ int ret;
+
+- if (pdev->dev.of_node)
+- pdev->id = of_alias_get_id(pdev->dev.of_node, "uart");
++ if (pdev->dev.of_node) {
++ pdev->id = of_alias_get_id(pdev->dev.of_node, "serial");
++
++ if (pdev->id < 0)
++ pdev->id = of_alias_get_id(pdev->dev.of_node, "uart");
++ }
+
+ if (pdev->id < 0 || pdev->id >= BCM63XX_NR_UARTS)
+ return -EINVAL;