Thread (63 messages) 63 messages, 12 authors, 2013-06-17
STALE4756d

[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

On Thursday 06 of June 2013 16:31:22 Chander Kashyap wrote:
quoted hunk ↗ jump to hunk
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.c
b/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(struct
device_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);
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help