diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2011-09-20 14:28:17 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2011-09-26 11:40:35 +0200 |
commit | b6de943bdffdc94482dd1a29015ca75e893bb5f2 (patch) | |
tree | ea4d085dd1d145bad31a92cb3505de24e882eebf /arch/arm/plat-mxc/avic.c | |
parent | fcb8ce5cfe30ca9ca5c9a79cdfe26d1993e65e0c (diff) |
ARM i.MX avic: add handle_irq function
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/plat-mxc/avic.c')
-rw-r--r-- | arch/arm/plat-mxc/avic.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/plat-mxc/avic.c b/arch/arm/plat-mxc/avic.c index 55d2534ec72..4d68c5a6fac 100644 --- a/arch/arm/plat-mxc/avic.c +++ b/arch/arm/plat-mxc/avic.c @@ -116,6 +116,19 @@ static struct mxc_irq_chip mxc_avic_chip = { #endif }; +asmlinkage void __exception_irq_entry avic_handle_irq(struct pt_regs *regs) +{ + u32 nivector; + + do { + nivector = __raw_readl(avic_base + AVIC_NIVECSR) >> 16; + if (nivector == 0xffff) + break; + + handle_IRQ(nivector, regs); + } while (1); +} + /* * This function initializes the AVIC hardware and disables all the * interrupts. It registers the interrupt enable and disable functions |