Commit bd133af1 authored by Marc Zyngier's avatar Marc Zyngier Committed by Linus Torvalds

[PATCH] Convert Alpha to the new 2.5 IRQ API

This converts the Alpha architecture to the new IRQ API.  Tested on
Jensen.
parent adafb8dc
...@@ -45,7 +45,10 @@ volatile unsigned long irq_err_count; ...@@ -45,7 +45,10 @@ volatile unsigned long irq_err_count;
* Special irq handlers. * 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 * Generic no controller code
...@@ -414,7 +417,7 @@ init_irq_proc (void) ...@@ -414,7 +417,7 @@ init_irq_proc (void)
} }
int 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) unsigned long irqflags, const char * devname, void *dev_id)
{ {
int retval; int retval;
......
#include <linux/config.h> #include <linux/config.h>
#include <linux/interrupt.h>
/* Prototypes of functions used across modules here in this directory. */ /* Prototypes of functions used across modules here in this directory. */
...@@ -128,7 +129,7 @@ extern void smp_percpu_timer_interrupt(struct pt_regs *); ...@@ -128,7 +129,7 @@ extern void smp_percpu_timer_interrupt(struct pt_regs *);
/* extern void reset_for_srm(void); */ /* extern void reset_for_srm(void); */
/* time.c */ /* 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 void common_init_rtc(void);
extern unsigned long est_cycle_freq; extern unsigned long est_cycle_freq;
......
...@@ -94,7 +94,7 @@ static inline __u32 rpcc(void) ...@@ -94,7 +94,7 @@ static inline __u32 rpcc(void)
* timer_interrupt() needs to keep up the real-time clock, * timer_interrupt() needs to keep up the real-time clock,
* as well as call the "do_timer()" routine every clocktick * 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; unsigned long delta;
__u32 now; __u32 now;
...@@ -139,6 +139,7 @@ void timer_interrupt(int irq, void *dev, struct pt_regs * regs) ...@@ -139,6 +139,7 @@ void timer_interrupt(int irq, void *dev, struct pt_regs * regs)
} }
write_sequnlock(&xtime_lock); write_sequnlock(&xtime_lock);
return IRQ_HANDLED;
} }
void void
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment