diff options
Diffstat (limited to 'arch/arm/mach-omap2/irq.c')
-rw-r--r-- | arch/arm/mach-omap2/irq.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c index a9c26b12cad2..bcd83db41bbc 100644 --- a/arch/arm/mach-omap2/irq.c +++ b/arch/arm/mach-omap2/irq.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <linux/irqdomain.h> | 21 | #include <linux/irqdomain.h> |
22 | #include <linux/of.h> | 22 | #include <linux/of.h> |
23 | #include <linux/of_address.h> | 23 | #include <linux/of_address.h> |
24 | #include <linux/of_irq.h> | ||
24 | 25 | ||
25 | #include <mach/hardware.h> | 26 | #include <mach/hardware.h> |
26 | 27 | ||
@@ -258,7 +259,7 @@ asmlinkage void __exception_irq_entry omap2_intc_handle_irq(struct pt_regs *regs | |||
258 | omap_intc_handle_irq(base_addr, regs); | 259 | omap_intc_handle_irq(base_addr, regs); |
259 | } | 260 | } |
260 | 261 | ||
261 | int __init omap_intc_of_init(struct device_node *node, | 262 | int __init intc_of_init(struct device_node *node, |
262 | struct device_node *parent) | 263 | struct device_node *parent) |
263 | { | 264 | { |
264 | struct resource res; | 265 | struct resource res; |
@@ -280,6 +281,16 @@ int __init omap_intc_of_init(struct device_node *node, | |||
280 | return 0; | 281 | return 0; |
281 | } | 282 | } |
282 | 283 | ||
284 | static struct of_device_id irq_match[] __initdata = { | ||
285 | { .compatible = "ti,omap2-intc", .data = intc_of_init, }, | ||
286 | { } | ||
287 | }; | ||
288 | |||
289 | void __init omap_intc_of_init(void) | ||
290 | { | ||
291 | of_irq_init(irq_match); | ||
292 | } | ||
293 | |||
283 | #if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_SOC_AM33XX) | 294 | #if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_SOC_AM33XX) |
284 | static struct omap3_intc_regs intc_context[ARRAY_SIZE(irq_banks)]; | 295 | static struct omap3_intc_regs intc_context[ARRAY_SIZE(irq_banks)]; |
285 | 296 | ||