diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2006-10-07 09:16:45 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-07 13:51:14 -0400 |
commit | 2850bc273776cbb1b510c5828e9e456dffb50a32 (patch) | |
tree | 340bd599b6efde40618ef89de59cbe957269eac2 /include/asm-m68k | |
parent | 00079e04fe478cd3c59ae2106ef2fbe779e67024 (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')
-rw-r--r-- | include/asm-m68k/atari_stdma.h | 3 | ||||
-rw-r--r-- | include/asm-m68k/floppy.h | 10 | ||||
-rw-r--r-- | include/asm-m68k/ide.h | 2 | ||||
-rw-r--r-- | include/asm-m68k/irq.h | 11 | ||||
-rw-r--r-- | include/asm-m68k/mac_iop.h | 6 | ||||
-rw-r--r-- | include/asm-m68k/machdep.h | 2 | ||||
-rw-r--r-- | include/asm-m68k/sun3xflop.h | 7 |
7 files changed, 19 insertions, 22 deletions
diff --git a/include/asm-m68k/atari_stdma.h b/include/asm-m68k/atari_stdma.h index b4eadf852738..a6986af7915e 100644 --- a/include/asm-m68k/atari_stdma.h +++ b/include/asm-m68k/atari_stdma.h | |||
@@ -8,8 +8,7 @@ | |||
8 | 8 | ||
9 | /***************************** Prototypes *****************************/ | 9 | /***************************** Prototypes *****************************/ |
10 | 10 | ||
11 | void stdma_lock(irqreturn_t (*handler)(int, void *, struct pt_regs *), | 11 | void stdma_lock(irqreturn_t (*handler)(int, void *), void *data); |
12 | void *data); | ||
13 | void stdma_release( void ); | 12 | void stdma_release( void ); |
14 | int stdma_others_waiting( void ); | 13 | int stdma_others_waiting( void ); |
15 | int stdma_islocked( void ); | 14 | int stdma_islocked( void ); |
diff --git a/include/asm-m68k/floppy.h b/include/asm-m68k/floppy.h index 57f4fdda65ab..45dc908932a3 100644 --- a/include/asm-m68k/floppy.h +++ b/include/asm-m68k/floppy.h | |||
@@ -17,8 +17,7 @@ | |||
17 | 17 | ||
18 | #include <linux/vmalloc.h> | 18 | #include <linux/vmalloc.h> |
19 | 19 | ||
20 | asmlinkage irqreturn_t floppy_hardint(int irq, void *dev_id, | 20 | asmlinkage irqreturn_t floppy_hardint(int irq, void *dev_id); |
21 | struct pt_regs *regs); | ||
22 | 21 | ||
23 | /* constants... */ | 22 | /* constants... */ |
24 | 23 | ||
@@ -184,8 +183,7 @@ static void fd_disable_dma(void) | |||
184 | 183 | ||
185 | /* this is the only truly Q40 specific function */ | 184 | /* this is the only truly Q40 specific function */ |
186 | 185 | ||
187 | asmlinkage irqreturn_t floppy_hardint(int irq, void *dev_id, | 186 | asmlinkage irqreturn_t floppy_hardint(int irq, void *dev_id) |
188 | struct pt_regs *regs) | ||
189 | { | 187 | { |
190 | register unsigned char st; | 188 | register unsigned char st; |
191 | 189 | ||
@@ -198,7 +196,7 @@ asmlinkage irqreturn_t floppy_hardint(int irq, void *dev_id, | |||
198 | static int dma_wait=0; | 196 | static int dma_wait=0; |
199 | #endif | 197 | #endif |
200 | if(!doing_pdma) { | 198 | if(!doing_pdma) { |
201 | floppy_interrupt(irq, dev_id, regs); | 199 | floppy_interrupt(irq, dev_id); |
202 | return IRQ_HANDLED; | 200 | return IRQ_HANDLED; |
203 | } | 201 | } |
204 | 202 | ||
@@ -246,7 +244,7 @@ asmlinkage irqreturn_t floppy_hardint(int irq, void *dev_id, | |||
246 | dma_wait=0; | 244 | dma_wait=0; |
247 | #endif | 245 | #endif |
248 | doing_pdma = 0; | 246 | doing_pdma = 0; |
249 | floppy_interrupt(irq, dev_id, regs); | 247 | floppy_interrupt(irq, dev_id); |
250 | return IRQ_HANDLED; | 248 | return IRQ_HANDLED; |
251 | } | 249 | } |
252 | #ifdef TRACE_FLPY_INT | 250 | #ifdef TRACE_FLPY_INT |
diff --git a/include/asm-m68k/ide.h b/include/asm-m68k/ide.h index 365f76fb8013..896683a7a1f3 100644 --- a/include/asm-m68k/ide.h +++ b/include/asm-m68k/ide.h | |||
@@ -123,7 +123,7 @@ static __inline__ void ide_release_lock (void) | |||
123 | } | 123 | } |
124 | 124 | ||
125 | static __inline__ void | 125 | static __inline__ void |
126 | ide_get_lock(irqreturn_t (*handler)(int, void *, struct pt_regs *), void *data) | 126 | ide_get_lock(irqreturn_t (*handler)(int, void *), void *data) |
127 | { | 127 | { |
128 | if (MACH_IS_ATARI) { | 128 | if (MACH_IS_ATARI) { |
129 | if (falconide_intr_lock == 0) { | 129 | if (falconide_intr_lock == 0) { |
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 | */ |
85 | typedef struct irq_node { | 85 | typedef 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 | */ |
96 | typedef struct irq_handler { | 96 | struct 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 | ||
103 | struct irq_controller { | 103 | struct 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 *)); |
123 | extern void m68k_setup_irq_controller(struct irq_controller *, unsigned int, unsigned int); | 123 | extern void m68k_setup_irq_controller(struct irq_controller *, unsigned int, unsigned int); |
124 | 124 | ||
125 | asmlinkage void m68k_handle_int(unsigned int, struct pt_regs *); | 125 | asmlinkage void m68k_handle_int(unsigned int); |
126 | asmlinkage void __m68k_handle_int(unsigned int, struct pt_regs *); | ||
126 | 127 | ||
127 | #endif /* _M68K_IRQ_H_ */ | 128 | #endif /* _M68K_IRQ_H_ */ |
diff --git a/include/asm-m68k/mac_iop.h b/include/asm-m68k/mac_iop.h index b0d2e3473537..a2c7e6fcca38 100644 --- a/include/asm-m68k/mac_iop.h +++ b/include/asm-m68k/mac_iop.h | |||
@@ -143,17 +143,17 @@ struct iop_msg { | |||
143 | int status; /* status of this message */ | 143 | int status; /* status of this message */ |
144 | __u8 message[IOP_MSG_LEN]; /* the message being sent/received */ | 144 | __u8 message[IOP_MSG_LEN]; /* the message being sent/received */ |
145 | __u8 reply[IOP_MSG_LEN]; /* the reply to the message */ | 145 | __u8 reply[IOP_MSG_LEN]; /* the reply to the message */ |
146 | void (*handler)(struct iop_msg *, struct pt_regs *); | 146 | void (*handler)(struct iop_msg *); |
147 | /* function to call when reply recvd */ | 147 | /* function to call when reply recvd */ |
148 | }; | 148 | }; |
149 | 149 | ||
150 | extern int iop_scc_present,iop_ism_present; | 150 | extern int iop_scc_present,iop_ism_present; |
151 | 151 | ||
152 | extern int iop_listen(uint, uint, | 152 | extern int iop_listen(uint, uint, |
153 | void (*handler)(struct iop_msg *, struct pt_regs *), | 153 | void (*handler)(struct iop_msg *), |
154 | const char *); | 154 | const char *); |
155 | extern int iop_send_message(uint, uint, void *, uint, __u8 *, | 155 | extern int iop_send_message(uint, uint, void *, uint, __u8 *, |
156 | void (*)(struct iop_msg *, struct pt_regs *)); | 156 | void (*)(struct iop_msg *)); |
157 | extern void iop_complete_message(struct iop_msg *); | 157 | extern void iop_complete_message(struct iop_msg *); |
158 | extern void iop_upload_code(uint, __u8 *, uint, __u16); | 158 | extern void iop_upload_code(uint, __u8 *, uint, __u16); |
159 | extern void iop_download_code(uint, __u8 *, uint, __u16); | 159 | extern void iop_download_code(uint, __u8 *, uint, __u16); |
diff --git a/include/asm-m68k/machdep.h b/include/asm-m68k/machdep.h index df898f27e434..862afa4c35d8 100644 --- a/include/asm-m68k/machdep.h +++ b/include/asm-m68k/machdep.h | |||
@@ -10,7 +10,7 @@ struct rtc_time; | |||
10 | struct rtc_pll_info; | 10 | struct rtc_pll_info; |
11 | struct buffer_head; | 11 | struct buffer_head; |
12 | 12 | ||
13 | extern void (*mach_sched_init) (irqreturn_t (*handler)(int, void *, struct pt_regs *)); | 13 | extern void (*mach_sched_init) (irqreturn_t (*handler)(int, void *)); |
14 | /* machine dependent irq functions */ | 14 | /* machine dependent irq functions */ |
15 | extern void (*mach_init_IRQ) (void); | 15 | extern void (*mach_init_IRQ) (void); |
16 | extern void (*mach_get_model) (char *model); | 16 | extern void (*mach_get_model) (char *model); |
diff --git a/include/asm-m68k/sun3xflop.h b/include/asm-m68k/sun3xflop.h index ca8cc4113843..32c45f84ac60 100644 --- a/include/asm-m68k/sun3xflop.h +++ b/include/asm-m68k/sun3xflop.h | |||
@@ -111,8 +111,7 @@ static void sun3x_82072_fd_outb(unsigned char value, int port) | |||
111 | } | 111 | } |
112 | 112 | ||
113 | 113 | ||
114 | asmlinkage irqreturn_t sun3xflop_hardint(int irq, void *dev_id, | 114 | asmlinkage irqreturn_t sun3xflop_hardint(int irq, void *dev_id) |
115 | struct pt_regs * regs) | ||
116 | { | 115 | { |
117 | register unsigned char st; | 116 | register unsigned char st; |
118 | 117 | ||
@@ -125,7 +124,7 @@ asmlinkage irqreturn_t sun3xflop_hardint(int irq, void *dev_id, | |||
125 | static int dma_wait=0; | 124 | static int dma_wait=0; |
126 | #endif | 125 | #endif |
127 | if(!doing_pdma) { | 126 | if(!doing_pdma) { |
128 | floppy_interrupt(irq, dev_id, regs); | 127 | floppy_interrupt(irq, dev_id); |
129 | return IRQ_HANDLED; | 128 | return IRQ_HANDLED; |
130 | } | 129 | } |
131 | 130 | ||
@@ -189,7 +188,7 @@ asmlinkage irqreturn_t sun3xflop_hardint(int irq, void *dev_id, | |||
189 | dma_wait=0; | 188 | dma_wait=0; |
190 | #endif | 189 | #endif |
191 | 190 | ||
192 | floppy_interrupt(irq, dev_id, regs); | 191 | floppy_interrupt(irq, dev_id); |
193 | return IRQ_HANDLED; | 192 | return IRQ_HANDLED; |
194 | } | 193 | } |
195 | 194 | ||