#include <linux/of_irq.h>
 #include <linux/slab.h>
 #include <linux/irqchip/arm-gic.h>
+#include <linux/irqchip/irq-crossbar.h>
 
 #define IRQ_FREE       -1
 #define IRQ_RESERVED   -2
        return 0;
 }
 
-const struct irq_domain_ops routable_irq_domain_ops = {
+static const struct irq_domain_ops routable_irq_domain_ops = {
        .map = crossbar_domain_map,
        .unmap = crossbar_domain_unmap,
        .xlate = crossbar_domain_xlate
                goto err1;
 
        of_property_read_u32(node, "ti,max-irqs", &max);
-       cb->irq_map = kzalloc(max * sizeof(int), GFP_KERNEL);
+       cb->irq_map = kcalloc(max, sizeof(int), GFP_KERNEL);
        if (!cb->irq_map)
                goto err2;
 
        }
 
 
-       cb->register_offsets = kzalloc(max * sizeof(int), GFP_KERNEL);
+       cb->register_offsets = kcalloc(max, sizeof(int), GFP_KERNEL);
        if (!cb->register_offsets)
                goto err3;