diff options
author | Felipe Balbi <balbi@ti.com> | 2014-09-08 20:54:57 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2014-09-11 16:05:48 -0400 |
commit | 52b1e1291334d79bb3d2fcaec15f7fc42eedbd83 (patch) | |
tree | 180acc419f39a011a26c9f620dba6a99cbf88a2f /arch | |
parent | a74f0a176e3e048df78816ec383b219f8ac6867e (diff) |
arm: omap: irq: introduce omap_nr_pending
that variable will tell us how many INTC_PENDING_IRQn
registers we have. It'll be used on a following patch
to cleanup omap_intc_handle_irq() a bit.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-omap2/irq.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c index 44d9cf4e74de..583a1c7de855 100644 --- a/arch/arm/mach-omap2/irq.c +++ b/arch/arm/mach-omap2/irq.c | |||
@@ -70,6 +70,7 @@ static struct omap_intc_regs intc_context; | |||
70 | 70 | ||
71 | static struct irq_domain *domain; | 71 | static struct irq_domain *domain; |
72 | static void __iomem *omap_irq_base; | 72 | static void __iomem *omap_irq_base; |
73 | static int omap_nr_pending = 3; | ||
73 | static int omap_nr_irqs = 96; | 74 | static int omap_nr_irqs = 96; |
74 | 75 | ||
75 | /* INTC bank register get/set */ | 76 | /* INTC bank register get/set */ |
@@ -276,6 +277,7 @@ out: | |||
276 | void __init omap2_init_irq(void) | 277 | void __init omap2_init_irq(void) |
277 | { | 278 | { |
278 | omap_nr_irqs = 96; | 279 | omap_nr_irqs = 96; |
280 | omap_nr_pending = 3; | ||
279 | omap_init_irq(OMAP24XX_IC_BASE, NULL); | 281 | omap_init_irq(OMAP24XX_IC_BASE, NULL); |
280 | set_handle_irq(omap_intc_handle_irq); | 282 | set_handle_irq(omap_intc_handle_irq); |
281 | } | 283 | } |
@@ -283,6 +285,7 @@ void __init omap2_init_irq(void) | |||
283 | void __init omap3_init_irq(void) | 285 | void __init omap3_init_irq(void) |
284 | { | 286 | { |
285 | omap_nr_irqs = 96; | 287 | omap_nr_irqs = 96; |
288 | omap_nr_pending = 3; | ||
286 | omap_init_irq(OMAP34XX_IC_BASE, NULL); | 289 | omap_init_irq(OMAP34XX_IC_BASE, NULL); |
287 | set_handle_irq(omap_intc_handle_irq); | 290 | set_handle_irq(omap_intc_handle_irq); |
288 | } | 291 | } |
@@ -290,6 +293,7 @@ void __init omap3_init_irq(void) | |||
290 | void __init ti81xx_init_irq(void) | 293 | void __init ti81xx_init_irq(void) |
291 | { | 294 | { |
292 | omap_nr_irqs = 96; | 295 | omap_nr_irqs = 96; |
296 | omap_nr_pending = 4; | ||
293 | omap_init_irq(OMAP34XX_IC_BASE, NULL); | 297 | omap_init_irq(OMAP34XX_IC_BASE, NULL); |
294 | set_handle_irq(omap_intc_handle_irq); | 298 | set_handle_irq(omap_intc_handle_irq); |
295 | } | 299 | } |
@@ -299,6 +303,7 @@ static int __init intc_of_init(struct device_node *node, | |||
299 | { | 303 | { |
300 | struct resource res; | 304 | struct resource res; |
301 | 305 | ||
306 | omap_nr_pending = 3; | ||
302 | omap_nr_irqs = 96; | 307 | omap_nr_irqs = 96; |
303 | 308 | ||
304 | if (WARN_ON(!node)) | 309 | if (WARN_ON(!node)) |
@@ -309,8 +314,10 @@ static int __init intc_of_init(struct device_node *node, | |||
309 | return -EINVAL; | 314 | return -EINVAL; |
310 | } | 315 | } |
311 | 316 | ||
312 | if (of_device_is_compatible(node, "ti,am33xx-intc")) | 317 | if (of_device_is_compatible(node, "ti,am33xx-intc")) { |
313 | omap_nr_irqs = 128; | 318 | omap_nr_irqs = 128; |
319 | omap_nr_pending = 4; | ||
320 | } | ||
314 | 321 | ||
315 | omap_init_irq(res.start, of_node_get(node)); | 322 | omap_init_irq(res.start, of_node_get(node)); |
316 | 323 | ||