summaryrefslogtreecommitdiff
path: root/lib_i386/interrupts.c
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2009-12-15 23:38:34 +0100
committerWolfgang Denk <wd@denx.de>2009-12-15 23:38:34 +0100
commitbb3bcfa2426cc6a0aecec7270e3ee67ca843a125 (patch)
tree0314e3d8e8d9e4d568a496fca27db33d66e68bb4 /lib_i386/interrupts.c
parenta200a7c04d89853d2a1395b96d8ca5e3dd754551 (diff)
parent4b142febff71eabdb7ddbb125c7b583b24ddc434 (diff)
downloadu-boot-imx-bb3bcfa2426cc6a0aecec7270e3ee67ca843a125.zip
u-boot-imx-bb3bcfa2426cc6a0aecec7270e3ee67ca843a125.tar.gz
u-boot-imx-bb3bcfa2426cc6a0aecec7270e3ee67ca843a125.tar.bz2
Merge branch 'next' of ../next
Diffstat (limited to 'lib_i386/interrupts.c')
-rw-r--r--lib_i386/interrupts.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib_i386/interrupts.c b/lib_i386/interrupts.c
index 3f3613a..51def59 100644
--- a/lib_i386/interrupts.c
+++ b/lib_i386/interrupts.c
@@ -70,12 +70,12 @@ void irq_install_handler(int irq, interrupt_handler_t *handler, void *arg)
if (irq_handlers[irq].handler != NULL)
printf("irq_install_handler: 0x%08lx replacing 0x%08lx\n",
- (ulong) handler + gd->reloc_off,
+ (ulong) handler,
(ulong) irq_handlers[irq].handler);
status = disable_interrupts ();
- irq_handlers[irq].handler = handler + gd->reloc_off;
+ irq_handlers[irq].handler = handler;
irq_handlers[irq].arg = arg;
irq_handlers[irq].count = 0;
@@ -109,8 +109,10 @@ void irq_free_handler(int irq)
return;
}
-__isr__ do_irq(int irq)
+void do_irq(int hw_irq)
{
+ int irq = hw_irq - 0x20;
+
if (irq < 0 || irq >= CONFIG_SYS_NUM_IRQS) {
printf("do_irq: bad irq number %d\n", irq);
return;