summaryrefslogtreecommitdiff
path: root/arch/ppc/kernel
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2003-04-28 17:56:57 +1000
committerPaul Mackerras <paulus@samba.org>2003-04-28 17:56:57 +1000
commita1f92be489bb25bf536b9770cc81b740ccd56e95 (patch)
treef91d2c29e72e50f7cca3ac423fbb2914d931c543 /arch/ppc/kernel
parentca58a02d2abd9723821caebf01ff66108751e649 (diff)
PPC32: Change interrupt handlers to return irqreturn_t.
Diffstat (limited to 'arch/ppc/kernel')
-rw-r--r--arch/ppc/kernel/irq.c22
1 files changed, 8 insertions, 14 deletions
diff --git a/arch/ppc/kernel/irq.c b/arch/ppc/kernel/irq.c
index 24965586025c..37e3e054b787 100644
--- a/arch/ppc/kernel/irq.c
+++ b/arch/ppc/kernel/irq.c
@@ -210,7 +210,8 @@ void free_irq(unsigned int irq, void* dev_id)
return;
}
-int request_irq(unsigned int irq, void (*handler)(int, void *, struct pt_regs *),
+int request_irq(unsigned int irq,
+ irqreturn_t (*handler)(int, void *, struct pt_regs *),
unsigned long irqflags, const char * devname, void *dev_id)
{
struct irqaction *action;
@@ -218,16 +219,9 @@ int request_irq(unsigned int irq, void (*handler)(int, void *, struct pt_regs *)
if (irq >= NR_IRQS)
return -EINVAL;
- if (!handler)
- {
- /*
- * free_irq() used to be implemented as a call to
- * request_irq() with handler being NULL. Now we have
- * a real free_irq() but need to allow the old behavior
- * for old code that hasn't caught up yet.
- * -- Cort <cort@fsmlabs.com>
- */
- free_irq(irq, dev_id);
+ if (!handler) {
+ printk(KERN_ERR "request_irq called with NULL handler!\n");
+ dump_stack();
return 0;
}
@@ -246,8 +240,7 @@ int request_irq(unsigned int irq, void (*handler)(int, void *, struct pt_regs *)
action->next = NULL;
retval = setup_irq(irq, action);
- if (retval)
- {
+ if (retval) {
kfree(action);
return retval;
}
@@ -732,6 +725,7 @@ void init_irq_proc (void)
}
}
-void no_action(int irq, void *dev, struct pt_regs *regs)
+irqreturn_t no_action(int irq, void *dev, struct pt_regs *regs)
{
+ return IRQ_NONE;
}