irqchip: exynos: pass irq_base from platform
authorArnd Bergmann <arnd@arndb.de>
Fri, 12 Apr 2013 13:27:09 +0000 (15:27 +0200)
committerArnd Bergmann <arnd@arndb.de>
Fri, 19 Apr 2013 21:00:43 +0000 (23:00 +0200)
The platform code knows the IRQ base, while the irqchip driver
should really not. This is a littly hacky because we still
hardwire the IRQ base to 160 for the combiner in the DT case,
when we should really use -1. Removing that line will cause
a linear IRQ domain to be use, as we should.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
arch/arm/mach-exynos/common.c
arch/arm/mach-exynos/common.h
drivers/irqchip/exynos-combiner.c

index 368fa4b..9208079 100644 (file)
@@ -447,7 +447,8 @@ void __init exynos4_init_irq(void)
 #endif
 
        if (!of_have_populated_dt())
-               combiner_init(S5P_VA_COMBINER_BASE, NULL, max_combiner_nr());
+               combiner_init(S5P_VA_COMBINER_BASE, NULL,
+                             max_combiner_nr(), COMBINER_IRQ(0, 0));
 
        /*
         * The parameters of s5p_init_irq() are for VIC init.
index 4ba8cbe..3e72d03 100644 (file)
@@ -70,7 +70,7 @@ void exynos4212_register_clocks(void);
 
 struct device_node;
 void combiner_init(void __iomem *combiner_base, struct device_node *np,
-                       unsigned int max_nr);
+                       unsigned int max_nr, int irq_base);
 
 extern struct smp_operations exynos_smp_ops;
 
Simple merge