From bd133af1fb7df50528ce98c0e8950a7fd6fa9b22 Mon Sep 17 00:00:00 2001 From: Marc Zyngier Date: Sun, 20 Apr 2003 21:23:36 -0700 Subject: [PATCH] [PATCH] Convert Alpha to the new 2.5 IRQ API This converts the Alpha architecture to the new IRQ API. Tested on Jensen. --- arch/alpha/kernel/irq.c | 7 +++++-- arch/alpha/kernel/proto.h | 3 ++- arch/alpha/kernel/time.c | 3 ++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/arch/alpha/kernel/irq.c b/arch/alpha/kernel/irq.c index b1480c1133714..a5b14083ed0d0 100644 --- a/arch/alpha/kernel/irq.c +++ b/arch/alpha/kernel/irq.c @@ -45,7 +45,10 @@ volatile unsigned long irq_err_count; * Special irq handlers. */ -void no_action(int cpl, void *dev_id, struct pt_regs *regs) { } +irqreturn_t no_action(int cpl, void *dev_id, struct pt_regs *regs) +{ + return IRQ_NONE; +} /* * Generic no controller code @@ -414,7 +417,7 @@ init_irq_proc (void) } int -request_irq(unsigned int irq, void (*handler)(int, void *, struct pt_regs *), +request_irq(unsigned int irq, irqreturn_t (*handler)(int, void *, struct pt_regs *), unsigned long irqflags, const char * devname, void *dev_id) { int retval; diff --git a/arch/alpha/kernel/proto.h b/arch/alpha/kernel/proto.h index c380eebc126ed..2320a47cef48a 100644 --- a/arch/alpha/kernel/proto.h +++ b/arch/alpha/kernel/proto.h @@ -1,4 +1,5 @@ #include +#include /* Prototypes of functions used across modules here in this directory. */ @@ -128,7 +129,7 @@ extern void smp_percpu_timer_interrupt(struct pt_regs *); /* extern void reset_for_srm(void); */ /* time.c */ -extern void timer_interrupt(int irq, void *dev, struct pt_regs * regs); +extern irqreturn_t timer_interrupt(int irq, void *dev, struct pt_regs * regs); extern void common_init_rtc(void); extern unsigned long est_cycle_freq; diff --git a/arch/alpha/kernel/time.c b/arch/alpha/kernel/time.c index 7f97b4cc190aa..baf0e60728df8 100644 --- a/arch/alpha/kernel/time.c +++ b/arch/alpha/kernel/time.c @@ -94,7 +94,7 @@ static inline __u32 rpcc(void) * timer_interrupt() needs to keep up the real-time clock, * as well as call the "do_timer()" routine every clocktick */ -void timer_interrupt(int irq, void *dev, struct pt_regs * regs) +irqreturn_t timer_interrupt(int irq, void *dev, struct pt_regs * regs) { unsigned long delta; __u32 now; @@ -139,6 +139,7 @@ void timer_interrupt(int irq, void *dev, struct pt_regs * regs) } write_sequnlock(&xtime_lock); + return IRQ_HANDLED; } void -- 2.53.0