bcm63xx: ext_intc: fix warning
authorÁlvaro Fernández Rojas <noltari@gmail.com>
Mon, 18 May 2020 07:19:06 +0000 (09:19 +0200)
committerÁlvaro Fernández Rojas <noltari@gmail.com>
Mon, 18 May 2020 08:55:06 +0000 (10:55 +0200)
In file included from ./arch/mips/include/asm/io.h:34,
                 from ./arch/mips/include/asm/mmiowb.h:5,
                 from ./include/linux/spinlock.h:60,
                 from ./include/linux/irq.h:14,
                 from drivers/irqchip/irq-bcm6345-ext.c:10:
drivers/irqchip/irq-bcm6345-ext.c: In function 'bcm6345_ext_intc_of_init':
./arch/mips/include/asm/mach-bcm63xx/ioremap.h:48:9: warning: 'base' may be used uninitialized in this function [-Wmaybe-uninitialized]
  return is_bcm63xx_internal_registers((unsigned long)addr);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-bcm6345-ext.c:255:16: note: 'base' was declared here
  void __iomem *base;
                ^~~~

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 29c3bb5f413f0962971c66e6516b8409a78e0135)

target/linux/brcm63xx/patches-4.9/325-irqchip-bcm6345-external-fix-base-uninitialized.patch [new file with mode: 0644]

diff --git a/target/linux/brcm63xx/patches-4.9/325-irqchip-bcm6345-external-fix-base-uninitialized.patch b/target/linux/brcm63xx/patches-4.9/325-irqchip-bcm6345-external-fix-base-uninitialized.patch
new file mode 100644 (file)
index 0000000..45b5118
--- /dev/null
@@ -0,0 +1,28 @@
+--- a/drivers/irqchip/irq-bcm6345-ext.c
++++ b/drivers/irqchip/irq-bcm6345-ext.c
+@@ -271,21 +271,19 @@ static int __init bcm6345_ext_intc_of_in
+       for (i = 0; i < num_irqs; i++) {
+               irqs[i] = irq_of_parse_and_map(node, i);
+-              if (!irqs[i]) {
+-                      ret = -ENOMEM;
+-                      goto out_unmap;
+-              }
++              if (!irqs[i])
++                      return -ENOMEM;
+       }
+       base = of_iomap(node, 0);
+       if (!base)
+-              goto out_unmap;
++              return -ENXIO;
+       ret = __bcm6345_ext_intc_init(node, num_irqs, irqs, base, shift,
+                                     toggle_clear_on_ack);
+       if (!ret)
+               return 0;
+-out_unmap:
++
+       iounmap(base);
+       for (i = 0; i < num_irqs; i++)