diff options
Diffstat (limited to 'arch/arm/kernel/irq.c')
| -rw-r--r-- | arch/arm/kernel/irq.c | 19 | 
1 files changed, 14 insertions, 5 deletions
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c index 0f928a131af..de3dcab8610 100644 --- a/arch/arm/kernel/irq.c +++ b/arch/arm/kernel/irq.c @@ -67,12 +67,12 @@ int arch_show_interrupts(struct seq_file *p, int prec)  }  /* - * do_IRQ handles all hardware IRQ's.  Decoded IRQs should not - * come via this function.  Instead, they should provide their - * own 'handler' + * handle_IRQ handles all hardware IRQ's.  Decoded IRQs should + * not come via this function.  Instead, they should provide their + * own 'handler'.  Used by platform code implementing C-based 1st + * level decoding.   */ -asmlinkage void __exception_irq_entry -asm_do_IRQ(unsigned int irq, struct pt_regs *regs) +void handle_IRQ(unsigned int irq, struct pt_regs *regs)  {  	struct pt_regs *old_regs = set_irq_regs(regs); @@ -97,6 +97,15 @@ asm_do_IRQ(unsigned int irq, struct pt_regs *regs)  	set_irq_regs(old_regs);  } +/* + * asm_do_IRQ is the interface to be used from assembly code. + */ +asmlinkage void __exception_irq_entry +asm_do_IRQ(unsigned int irq, struct pt_regs *regs) +{ +	handle_IRQ(irq, regs); +} +  void set_irq_flags(unsigned int irq, unsigned int iflags)  {  	unsigned long clr = 0, set = IRQ_NOREQUEST | IRQ_NOPROBE | IRQ_NOAUTOEN;  |