irqchip: mxs: Fix function type for IRQCHIP_OF_DECLARE
authorRob Herring <robh@kernel.org>
Mon, 12 May 2014 16:37:07 +0000 (11:37 -0500)
committerRob Herring <robh@kernel.org>
Tue, 20 May 2014 19:25:23 +0000 (14:25 -0500)
Adding function type checking to IRQCHIP_OF_DECLARE found a type mismatch
with icoll_of_init. The function should return an error code or 0 on
success.

Signed-off-by: Rob Herring <robh@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Jason Cooper <jason@lakedaemon.net>
drivers/irqchip/irq-mxs.c

index 63b3d4eb0ef768b4cded4a2bfbad57a0b8563b81..4044ff2876633d671021c84dd631b8a033bf1574 100644 (file)
@@ -96,7 +96,7 @@ static struct irq_domain_ops icoll_irq_domain_ops = {
        .xlate = irq_domain_xlate_onecell,
 };
 
-static void __init icoll_of_init(struct device_node *np,
+static int __init icoll_of_init(struct device_node *np,
                          struct device_node *interrupt_parent)
 {
        icoll_base = of_iomap(np, 0);
@@ -110,6 +110,6 @@ static void __init icoll_of_init(struct device_node *np,
 
        icoll_domain = irq_domain_add_linear(np, ICOLL_NUM_IRQS,
                                             &icoll_irq_domain_ops, NULL);
-       WARN_ON(!icoll_domain);
+       return icoll_domain ? 0 : -ENODEV;
 }
 IRQCHIP_DECLARE(mxs, "fsl,icoll", icoll_of_init);