aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-m68k/irq.h
diff options
context:
space:
mode:
authorAl Viro <viro@ftp.linux.org.uk>2006-10-07 09:16:45 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-07 13:51:14 -0400
commit2850bc273776cbb1b510c5828e9e456dffb50a32 (patch)
tree340bd599b6efde40618ef89de59cbe957269eac2 /include/asm-m68k/irq.h
parent00079e04fe478cd3c59ae2106ef2fbe779e67024 (diff)
[PATCH] m68k pt_regs fixes
m68k_handle_int() split in two functions: __m68k_handle_int() takes pt_regs * and does set_irq_regs(); m68k_handle_int() doesn't get pt_regs *. Places where we used to call m68k_handle_int() recursively with the same pt_regs have simply lost the second argument, the rest is switched to __m68k_handle_int(). The rest of patch is just dropping pt_regs * where needed. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-m68k/irq.h')
-rw-r--r--include/asm-m68k/irq.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/include/asm-m68k/irq.h b/include/asm-m68k/irq.h
index 3257f9881002..4901cb105e2f 100644
--- a/include/asm-m68k/irq.h
+++ b/include/asm-m68k/irq.h
@@ -83,7 +83,7 @@ struct pt_regs;
83 * interrupt source (if it supports chaining). 83 * interrupt source (if it supports chaining).
84 */ 84 */
85typedef struct irq_node { 85typedef struct irq_node {
86 int (*handler)(int, void *, struct pt_regs *); 86 int (*handler)(int, void *);
87 void *dev_id; 87 void *dev_id;
88 struct irq_node *next; 88 struct irq_node *next;
89 unsigned long flags; 89 unsigned long flags;
@@ -93,12 +93,12 @@ typedef struct irq_node {
93/* 93/*
94 * This structure has only 4 elements for speed reasons 94 * This structure has only 4 elements for speed reasons
95 */ 95 */
96typedef struct irq_handler { 96struct irq_handler {
97 int (*handler)(int, void *, struct pt_regs *); 97 int (*handler)(int, void *);
98 unsigned long flags; 98 unsigned long flags;
99 void *dev_id; 99 void *dev_id;
100 const char *devname; 100 const char *devname;
101} irq_handler_t; 101};
102 102
103struct irq_controller { 103struct irq_controller {
104 const char *name; 104 const char *name;
@@ -122,6 +122,7 @@ extern void m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt,
122 void (*handler)(unsigned int, struct pt_regs *)); 122 void (*handler)(unsigned int, struct pt_regs *));
123extern void m68k_setup_irq_controller(struct irq_controller *, unsigned int, unsigned int); 123extern void m68k_setup_irq_controller(struct irq_controller *, unsigned int, unsigned int);
124 124
125asmlinkage void m68k_handle_int(unsigned int, struct pt_regs *); 125asmlinkage void m68k_handle_int(unsigned int);
126asmlinkage void __m68k_handle_int(unsigned int, struct pt_regs *);
126 127
127#endif /* _M68K_IRQ_H_ */ 128#endif /* _M68K_IRQ_H_ */