[PATCH 08/13] irqchip: exynos-combiner: set irq base as 256 for Exynos5420
From: Tomasz Figa <hidden>
Date: 2013-06-08 11:24:08
Also in:
linux-samsung-soc, linux-serial
From: Tomasz Figa <hidden>
Date: 2013-06-08 11:24:08
Also in:
linux-samsung-soc, linux-serial
On Thursday 06 of June 2013 16:31:22 Chander Kashyap wrote:
Exynos5420 uses 256 GIC interrupts unlike the previous Exynos SoCs which had upto 160 GIC interrupts. Since the exynos-combiner driver uses irq domain simple to support some of the Exynos4 non-dt platforms, the irq_base is set temporarily to 256 for Exynos5420 combiner interrupts. Signed-off-by: Chander Kashyap <redacted> Signed-off-by: Thomas Abraham <redacted> --- drivers/irqchip/exynos-combiner.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)diff --git a/drivers/irqchip/exynos-combiner.cb/drivers/irqchip/exynos-combiner.c index a9d2b2f..465271f 100644--- a/drivers/irqchip/exynos-combiner.c +++ b/drivers/irqchip/exynos-combiner.c@@ -267,7 +267,10 @@ static int __init combiner_of_init(structdevice_node *np, * get their IRQ from DT, remove this in order to get dynamic * allocation. */ - irq_base = 160; + if (soc_is_exynos5420()) + irq_base = 256; + else + irq_base = 160;
I'm not sure if this is needed in any way, since Exynos4 non-DT support is going to be removed in 3.11. Even if yes, IMHO a much better solution would be: if (of_have_populated_dt()) irq_base = 0; else irq_base = 160; This way, when running with DT, combiner would get a linear IRQ domain, without any hardcoded IRQ base. Best regards, Tomasz
combiner_init(combiner_base, np, max_nr, irq_base);