summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorGeert Uytterhoeven <geert@linux-m68k.org>2003-07-25 19:37:01 -0700
committerJens Axboe <axboe@suse.de>2003-07-25 19:37:01 -0700
commitb0dd1d9b693d9bf8177660c49fb4802d899a4839 (patch)
tree0d81eda4217686bc6f66c9b6830df0f6ab38704c /include
parent5dd971667ba010e05a315fb0d9b231f79825452a (diff)
[PATCH] M68k IRQ API updates
M68k: A few missing updates to the new irq API: - Q40/Q60 keyboard - Q40/Q60 floppy - Sun-3x floppy
Diffstat (limited to 'include')
-rw-r--r--include/asm-m68k/floppy.h13
-rw-r--r--include/asm-m68k/sun3xflop.h12
2 files changed, 15 insertions, 10 deletions
diff --git a/include/asm-m68k/floppy.h b/include/asm-m68k/floppy.h
index 73f67e4e2b47..a94c271ecbfa 100644
--- a/include/asm-m68k/floppy.h
+++ b/include/asm-m68k/floppy.h
@@ -17,7 +17,8 @@
#include <linux/vmalloc.h>
-asmlinkage void floppy_hardint(int irq, void *dev_id, struct pt_regs * regs);
+asmlinkage irqreturn_t floppy_hardint(int irq, void *dev_id,
+ struct pt_regs *regs);
/* constants... */
@@ -183,7 +184,8 @@ static void fd_disable_dma(void)
/* this is the only truly Q40 specific function */
-asmlinkage void floppy_hardint(int irq, void *dev_id, struct pt_regs * regs)
+asmlinkage irqreturn_t floppy_hardint(int irq, void *dev_id,
+ struct pt_regs *regs)
{
register unsigned char st;
@@ -197,7 +199,7 @@ asmlinkage void floppy_hardint(int irq, void *dev_id, struct pt_regs * regs)
#endif
if(!doing_pdma) {
floppy_interrupt(irq, dev_id, regs);
- return;
+ return IRQ_HANDLED;
}
#ifdef TRACE_FLPY_INT
@@ -232,7 +234,7 @@ asmlinkage void floppy_hardint(int irq, void *dev_id, struct pt_regs * regs)
calls++;
#endif
if(st == 0x20)
- return;
+ return IRQ_HANDLED;
if(!(st & 0x20)) {
virtual_dma_residue += virtual_dma_count;
virtual_dma_count=0;
@@ -245,12 +247,13 @@ asmlinkage void floppy_hardint(int irq, void *dev_id, struct pt_regs * regs)
#endif
doing_pdma = 0;
floppy_interrupt(irq, dev_id, regs);
- return;
+ return IRQ_HANDLED;
}
#ifdef TRACE_FLPY_INT
if(!virtual_dma_count)
dma_wait++;
#endif
+ return IRQ_HANDLED;
}
#define EXTRA_FLOPPY_PARAMS
diff --git a/include/asm-m68k/sun3xflop.h b/include/asm-m68k/sun3xflop.h
index 10db3451f5c7..6c65cc39b39e 100644
--- a/include/asm-m68k/sun3xflop.h
+++ b/include/asm-m68k/sun3xflop.h
@@ -113,7 +113,8 @@ static void sun3x_82072_fd_outb(unsigned char value, int port)
}
-asmlinkage void sun3xflop_hardint(int irq, void *dev_id, struct pt_regs * regs)
+asmlinkage irqreturn_t sun3xflop_hardint(int irq, void *dev_id,
+ struct pt_regs * regs)
{
register unsigned char st;
@@ -127,7 +128,7 @@ asmlinkage void sun3xflop_hardint(int irq, void *dev_id, struct pt_regs * regs)
#endif
if(!doing_pdma) {
floppy_interrupt(irq, dev_id, regs);
- return;
+ return IRQ_HANDLED;
}
// printk("doing pdma\n");// st %x\n", sun_fdc->status_82072);
@@ -151,7 +152,7 @@ asmlinkage void sun3xflop_hardint(int irq, void *dev_id, struct pt_regs * regs)
if((st & 0x80) == 0) {
virtual_dma_count = lcount;
virtual_dma_addr = lptr;
- return;
+ return IRQ_HANDLED;
}
if((st & 0x20) == 0)
@@ -176,7 +177,7 @@ asmlinkage void sun3xflop_hardint(int irq, void *dev_id, struct pt_regs * regs)
#endif
// printk("st=%02x\n", st);
if(st == 0x20)
- return;
+ return IRQ_HANDLED;
if(!(st & 0x20)) {
virtual_dma_residue += virtual_dma_count;
virtual_dma_count=0;
@@ -191,7 +192,7 @@ asmlinkage void sun3xflop_hardint(int irq, void *dev_id, struct pt_regs * regs)
#endif
floppy_interrupt(irq, dev_id, regs);
- return;
+ return IRQ_HANDLED;
}
@@ -199,6 +200,7 @@ asmlinkage void sun3xflop_hardint(int irq, void *dev_id, struct pt_regs * regs)
if(!virtual_dma_count)
dma_wait++;
#endif
+ return IRQ_HANDLED;
}
static int sun3xflop_request_irq(void)