diff options
Diffstat (limited to 'arch/m68knommu/platform/5307/ints.c')
-rw-r--r-- | arch/m68knommu/platform/5307/ints.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/arch/m68knommu/platform/5307/ints.c b/arch/m68knommu/platform/5307/ints.c index b4b55093ae7..a57239ec6c8 100644 --- a/arch/m68knommu/platform/5307/ints.c +++ b/arch/m68knommu/platform/5307/ints.c | |||
@@ -33,7 +33,7 @@ | |||
33 | /* | 33 | /* |
34 | * This table stores the address info for each vector handler. | 34 | * This table stores the address info for each vector handler. |
35 | */ | 35 | */ |
36 | irq_handler_t irq_list[SYS_IRQS]; | 36 | struct irq_entry irq_list[SYS_IRQS]; |
37 | 37 | ||
38 | #define NUM_IRQ_NODES 16 | 38 | #define NUM_IRQ_NODES 16 |
39 | static irq_node_t nodes[NUM_IRQ_NODES]; | 39 | static irq_node_t nodes[NUM_IRQ_NODES]; |
@@ -44,7 +44,7 @@ volatile unsigned int num_spurious; | |||
44 | unsigned int local_bh_count[NR_CPUS]; | 44 | unsigned int local_bh_count[NR_CPUS]; |
45 | unsigned int local_irq_count[NR_CPUS]; | 45 | unsigned int local_irq_count[NR_CPUS]; |
46 | 46 | ||
47 | static irqreturn_t default_irq_handler(int irq, void *ptr, struct pt_regs *regs) | 47 | static irqreturn_t default_irq_handler(int irq, void *ptr) |
48 | { | 48 | { |
49 | #if 1 | 49 | #if 1 |
50 | printk(KERN_INFO "%s(%d): default irq handler vec=%d [0x%x]\n", | 50 | printk(KERN_INFO "%s(%d): default irq handler vec=%d [0x%x]\n", |
@@ -70,7 +70,7 @@ void __init init_IRQ(void) | |||
70 | 70 | ||
71 | for (i = 0; i < SYS_IRQS; i++) { | 71 | for (i = 0; i < SYS_IRQS; i++) { |
72 | if (mach_default_handler) | 72 | if (mach_default_handler) |
73 | irq_list[i].handler = (*mach_default_handler)[i]; | 73 | irq_list[i].handler = mach_default_handler; |
74 | else | 74 | else |
75 | irq_list[i].handler = default_irq_handler; | 75 | irq_list[i].handler = default_irq_handler; |
76 | irq_list[i].flags = IRQ_FLG_STD; | 76 | irq_list[i].flags = IRQ_FLG_STD; |
@@ -100,7 +100,7 @@ irq_node_t *new_irq_node(void) | |||
100 | 100 | ||
101 | int request_irq( | 101 | int request_irq( |
102 | unsigned int irq, | 102 | unsigned int irq, |
103 | irqreturn_t (*handler)(int, void *, struct pt_regs *), | 103 | irq_handler_t handler, |
104 | unsigned long flags, | 104 | unsigned long flags, |
105 | const char *devname, | 105 | const char *devname, |
106 | void *dev_id) | 106 | void *dev_id) |
@@ -157,7 +157,7 @@ void free_irq(unsigned int irq, void *dev_id) | |||
157 | } | 157 | } |
158 | 158 | ||
159 | if (mach_default_handler) | 159 | if (mach_default_handler) |
160 | irq_list[irq].handler = (*mach_default_handler)[irq]; | 160 | irq_list[irq].handler = mach_default_handler; |
161 | else | 161 | else |
162 | irq_list[irq].handler = default_irq_handler; | 162 | irq_list[irq].handler = default_irq_handler; |
163 | irq_list[irq].flags = IRQ_FLG_STD; | 163 | irq_list[irq].flags = IRQ_FLG_STD; |
@@ -168,8 +168,7 @@ void free_irq(unsigned int irq, void *dev_id) | |||
168 | EXPORT_SYMBOL(free_irq); | 168 | EXPORT_SYMBOL(free_irq); |
169 | 169 | ||
170 | 170 | ||
171 | int sys_request_irq(unsigned int irq, | 171 | int sys_request_irq(unsigned int irq, irq_handler_t handler, |
172 | irqreturn_t (*handler)(int, void *, struct pt_regs *), | ||
173 | unsigned long flags, const char *devname, void *dev_id) | 172 | unsigned long flags, const char *devname, void *dev_id) |
174 | { | 173 | { |
175 | if (irq > IRQ7) { | 174 | if (irq > IRQ7) { |
@@ -211,7 +210,7 @@ void sys_free_irq(unsigned int irq, void *dev_id) | |||
211 | printk(KERN_WARNING "%s: Removing probably wrong IRQ %d from %s\n", | 210 | printk(KERN_WARNING "%s: Removing probably wrong IRQ %d from %s\n", |
212 | __FUNCTION__, irq, irq_list[irq].devname); | 211 | __FUNCTION__, irq, irq_list[irq].devname); |
213 | 212 | ||
214 | irq_list[irq].handler = (*mach_default_handler)[irq]; | 213 | irq_list[irq].handler = mach_default_handler; |
215 | irq_list[irq].flags = 0; | 214 | irq_list[irq].flags = 0; |
216 | irq_list[irq].dev_id = NULL; | 215 | irq_list[irq].dev_id = NULL; |
217 | irq_list[irq].devname = NULL; | 216 | irq_list[irq].devname = NULL; |
@@ -241,7 +240,7 @@ asmlinkage void process_int(unsigned long vec, struct pt_regs *fp) | |||
241 | if (vec >= VEC_INT1 && vec <= VEC_INT7) { | 240 | if (vec >= VEC_INT1 && vec <= VEC_INT7) { |
242 | vec -= VEC_SPUR; | 241 | vec -= VEC_SPUR; |
243 | kstat_cpu(0).irqs[vec]++; | 242 | kstat_cpu(0).irqs[vec]++; |
244 | irq_list[vec].handler(vec, irq_list[vec].dev_id, fp); | 243 | irq_list[vec].handler(vec, irq_list[vec].dev_id); |
245 | } else { | 244 | } else { |
246 | if (mach_process_int) | 245 | if (mach_process_int) |
247 | mach_process_int(vec, fp); | 246 | mach_process_int(vec, fp); |