Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[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>

authored by

Al Viro and committed by
Linus Torvalds
2850bc27 00079e04

+176 -169
+20 -20
arch/m68k/amiga/amiints.c
··· 47 47 48 48 static void amiga_enable_irq(unsigned int irq); 49 49 static void amiga_disable_irq(unsigned int irq); 50 - static irqreturn_t ami_int1(int irq, void *dev_id, struct pt_regs *fp); 51 - static irqreturn_t ami_int3(int irq, void *dev_id, struct pt_regs *fp); 52 - static irqreturn_t ami_int4(int irq, void *dev_id, struct pt_regs *fp); 53 - static irqreturn_t ami_int5(int irq, void *dev_id, struct pt_regs *fp); 50 + static irqreturn_t ami_int1(int irq, void *dev_id); 51 + static irqreturn_t ami_int3(int irq, void *dev_id); 52 + static irqreturn_t ami_int4(int irq, void *dev_id); 53 + static irqreturn_t ami_int5(int irq, void *dev_id); 54 54 55 55 static struct irq_controller amiga_irq_controller = { 56 56 .name = "amiga", ··· 113 113 * The builtin Amiga hardware interrupt handlers. 114 114 */ 115 115 116 - static irqreturn_t ami_int1(int irq, void *dev_id, struct pt_regs *fp) 116 + static irqreturn_t ami_int1(int irq, void *dev_id) 117 117 { 118 118 unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar; 119 119 120 120 /* if serial transmit buffer empty, interrupt */ 121 121 if (ints & IF_TBE) { 122 122 amiga_custom.intreq = IF_TBE; 123 - m68k_handle_int(IRQ_AMIGA_TBE, fp); 123 + m68k_handle_int(IRQ_AMIGA_TBE); 124 124 } 125 125 126 126 /* if floppy disk transfer complete, interrupt */ 127 127 if (ints & IF_DSKBLK) { 128 128 amiga_custom.intreq = IF_DSKBLK; 129 - m68k_handle_int(IRQ_AMIGA_DSKBLK, fp); 129 + m68k_handle_int(IRQ_AMIGA_DSKBLK); 130 130 } 131 131 132 132 /* if software interrupt set, interrupt */ 133 133 if (ints & IF_SOFT) { 134 134 amiga_custom.intreq = IF_SOFT; 135 - m68k_handle_int(IRQ_AMIGA_SOFT, fp); 135 + m68k_handle_int(IRQ_AMIGA_SOFT); 136 136 } 137 137 return IRQ_HANDLED; 138 138 } 139 139 140 - static irqreturn_t ami_int3(int irq, void *dev_id, struct pt_regs *fp) 140 + static irqreturn_t ami_int3(int irq, void *dev_id) 141 141 { 142 142 unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar; 143 143 144 144 /* if a blitter interrupt */ 145 145 if (ints & IF_BLIT) { 146 146 amiga_custom.intreq = IF_BLIT; 147 - m68k_handle_int(IRQ_AMIGA_BLIT, fp); 147 + m68k_handle_int(IRQ_AMIGA_BLIT); 148 148 } 149 149 150 150 /* if a copper interrupt */ 151 151 if (ints & IF_COPER) { 152 152 amiga_custom.intreq = IF_COPER; 153 - m68k_handle_int(IRQ_AMIGA_COPPER, fp); 153 + m68k_handle_int(IRQ_AMIGA_COPPER); 154 154 } 155 155 156 156 /* if a vertical blank interrupt */ 157 157 if (ints & IF_VERTB) { 158 158 amiga_custom.intreq = IF_VERTB; 159 - m68k_handle_int(IRQ_AMIGA_VERTB, fp); 159 + m68k_handle_int(IRQ_AMIGA_VERTB); 160 160 } 161 161 return IRQ_HANDLED; 162 162 } 163 163 164 - static irqreturn_t ami_int4(int irq, void *dev_id, struct pt_regs *fp) 164 + static irqreturn_t ami_int4(int irq, void *dev_id) 165 165 { 166 166 unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar; 167 167 168 168 /* if audio 0 interrupt */ 169 169 if (ints & IF_AUD0) { 170 170 amiga_custom.intreq = IF_AUD0; 171 - m68k_handle_int(IRQ_AMIGA_AUD0, fp); 171 + m68k_handle_int(IRQ_AMIGA_AUD0); 172 172 } 173 173 174 174 /* if audio 1 interrupt */ 175 175 if (ints & IF_AUD1) { 176 176 amiga_custom.intreq = IF_AUD1; 177 - m68k_handle_int(IRQ_AMIGA_AUD1, fp); 177 + m68k_handle_int(IRQ_AMIGA_AUD1); 178 178 } 179 179 180 180 /* if audio 2 interrupt */ 181 181 if (ints & IF_AUD2) { 182 182 amiga_custom.intreq = IF_AUD2; 183 - m68k_handle_int(IRQ_AMIGA_AUD2, fp); 183 + m68k_handle_int(IRQ_AMIGA_AUD2); 184 184 } 185 185 186 186 /* if audio 3 interrupt */ 187 187 if (ints & IF_AUD3) { 188 188 amiga_custom.intreq = IF_AUD3; 189 - m68k_handle_int(IRQ_AMIGA_AUD3, fp); 189 + m68k_handle_int(IRQ_AMIGA_AUD3); 190 190 } 191 191 return IRQ_HANDLED; 192 192 } 193 193 194 - static irqreturn_t ami_int5(int irq, void *dev_id, struct pt_regs *fp) 194 + static irqreturn_t ami_int5(int irq, void *dev_id) 195 195 { 196 196 unsigned short ints = amiga_custom.intreqr & amiga_custom.intenar; 197 197 198 198 /* if serial receive buffer full interrupt */ 199 199 if (ints & IF_RBF) { 200 200 /* acknowledge of IF_RBF must be done by the serial interrupt */ 201 - m68k_handle_int(IRQ_AMIGA_RBF, fp); 201 + m68k_handle_int(IRQ_AMIGA_RBF); 202 202 } 203 203 204 204 /* if a disk sync interrupt */ 205 205 if (ints & IF_DSKSYN) { 206 206 amiga_custom.intreq = IF_DSKSYN; 207 - m68k_handle_int(IRQ_AMIGA_DSKSYN, fp); 207 + m68k_handle_int(IRQ_AMIGA_DSKSYN); 208 208 } 209 209 return IRQ_HANDLED; 210 210 }
+2 -2
arch/m68k/amiga/cia.c
··· 82 82 return old; 83 83 } 84 84 85 - static irqreturn_t cia_handler(int irq, void *dev_id, struct pt_regs *fp) 85 + static irqreturn_t cia_handler(int irq, void *dev_id) 86 86 { 87 87 struct ciabase *base = (struct ciabase *)dev_id; 88 88 int mach_irq; ··· 93 93 amiga_custom.intreq = base->int_mask; 94 94 for (; ints; mach_irq++, ints >>= 1) { 95 95 if (ints & 1) 96 - m68k_handle_int(mach_irq, fp); 96 + m68k_handle_int(mach_irq); 97 97 } 98 98 return IRQ_HANDLED; 99 99 }
+2 -3
arch/m68k/amiga/config.c
··· 83 83 84 84 extern char m68k_debug_device[]; 85 85 86 - static void amiga_sched_init(irqreturn_t (*handler)(int, void *, struct pt_regs *)); 86 + static void amiga_sched_init(irqreturn_t (*handler)(int, void *)); 87 87 /* amiga specific irq functions */ 88 88 extern void amiga_init_IRQ (void); 89 89 static void amiga_get_model(char *model); ··· 487 487 488 488 static unsigned short jiffy_ticks; 489 489 490 - static void __init amiga_sched_init(irqreturn_t (*timer_routine)(int, void *, 491 - struct pt_regs *)) 490 + static void __init amiga_sched_init(irqreturn_t (*timer_routine)(int, void *)) 492 491 { 493 492 static struct resource sched_res = { 494 493 .name = "timer", .start = 0x00bfd400, .end = 0x00bfd5ff,
+7 -7
arch/m68k/apollo/config.c
··· 25 25 u_long timer_physaddr; 26 26 u_long apollo_model; 27 27 28 - extern void dn_sched_init(irqreturn_t (*handler)(int,void *,struct pt_regs *)); 28 + extern void dn_sched_init(irqreturn_t (*handler)(int,void *)); 29 29 extern void dn_init_IRQ(void); 30 30 extern unsigned long dn_gettimeoffset(void); 31 31 extern int dn_dummy_hwclk(int, struct rtc_time *); ··· 38 38 #ifdef CONFIG_HEARTBEAT 39 39 static void dn_heartbeat(int on); 40 40 #endif 41 - static irqreturn_t dn_timer_int(int irq,void *, struct pt_regs *); 41 + static irqreturn_t dn_timer_int(int irq,void *); 42 42 static void dn_get_model(char *model); 43 43 static const char *apollo_models[] = { 44 44 [APOLLO_DN3000-APOLLO_DN3000] = "DN3000 (Otter)", ··· 174 174 175 175 } 176 176 177 - irqreturn_t dn_timer_int(int irq, void *dev_id, struct pt_regs *fp) 177 + irqreturn_t dn_timer_int(int irq, void *dev_id) 178 178 { 179 - irqreturn_t (*timer_handler)(int, void *, struct pt_regs *) = dev_id; 179 + irqreturn_t (*timer_handler)(int, void *) = dev_id; 180 180 181 181 volatile unsigned char x; 182 182 183 - timer_handler(irq, dev_id, fp); 183 + timer_handler(irq, dev_id); 184 184 185 185 x=*(volatile unsigned char *)(timer+3); 186 186 x=*(volatile unsigned char *)(timer+5); ··· 188 188 return IRQ_HANDLED; 189 189 } 190 190 191 - void dn_sched_init(irqreturn_t (*timer_routine)(int, void *, struct pt_regs *)) { 192 - 191 + void dn_sched_init(irqreturn_t (*timer_routine)(int, void *)) 192 + { 193 193 /* program timer 1 */ 194 194 *(volatile unsigned char *)(timer+3)=0x01; 195 195 *(volatile unsigned char *)(timer+1)=0x40;
+1 -1
arch/m68k/apollo/dn_ints.c
··· 6 6 7 7 void dn_process_int(unsigned int irq, struct pt_regs *fp) 8 8 { 9 - m68k_handle_int(irq, fp); 9 + __m68k_handle_int(irq, fp); 10 10 11 11 *(volatile unsigned char *)(pica)=0x20; 12 12 *(volatile unsigned char *)(picb)=0x20;
+1 -1
arch/m68k/atari/config.c
··· 62 62 #endif 63 63 64 64 /* atari specific timer functions (in time.c) */ 65 - extern void atari_sched_init(irqreturn_t (*)(int, void *, struct pt_regs *)); 65 + extern void atari_sched_init(irqreturn_t (*)(int, void *)); 66 66 extern unsigned long atari_gettimeoffset (void); 67 67 extern int atari_mste_hwclk (int, struct rtc_time *); 68 68 extern int atari_tt_hwclk (int, struct rtc_time *);
+5 -6
arch/m68k/atari/stdma.c
··· 44 44 45 45 static int stdma_locked; /* the semaphore */ 46 46 /* int func to be called */ 47 - static irqreturn_t (*stdma_isr)(int, void *, struct pt_regs *); 47 + static irqreturn_t (*stdma_isr)(int, void *); 48 48 static void *stdma_isr_data; /* data passed to isr */ 49 49 static DECLARE_WAIT_QUEUE_HEAD(stdma_wait); /* wait queue for ST-DMA */ 50 50 ··· 53 53 54 54 /***************************** Prototypes *****************************/ 55 55 56 - static irqreturn_t stdma_int (int irq, void *dummy, struct pt_regs *fp); 56 + static irqreturn_t stdma_int (int irq, void *dummy); 57 57 58 58 /************************* End of Prototypes **************************/ 59 59 ··· 75 75 * 76 76 */ 77 77 78 - void stdma_lock(irqreturn_t (*handler)(int, void *, struct pt_regs *), 79 - void *data) 78 + void stdma_lock(irqreturn_t (*handler)(int, void *), void *data) 80 79 { 81 80 unsigned long flags; 82 81 ··· 187 188 * 188 189 */ 189 190 190 - static irqreturn_t stdma_int(int irq, void *dummy, struct pt_regs *fp) 191 + static irqreturn_t stdma_int(int irq, void *dummy) 191 192 { 192 193 if (stdma_isr) 193 - (*stdma_isr)(irq, stdma_isr_data, fp); 194 + (*stdma_isr)(irq, stdma_isr_data); 194 195 return IRQ_HANDLED; 195 196 }
+1 -1
arch/m68k/atari/time.c
··· 20 20 #include <asm/atariints.h> 21 21 22 22 void __init 23 - atari_sched_init(irqreturn_t (*timer_routine)(int, void *, struct pt_regs *)) 23 + atari_sched_init(irqreturn_t (*timer_routine)(int, void *)) 24 24 { 25 25 /* set Timer C data Register */ 26 26 mfp.tim_dt_c = INT_TICKS;
+6 -6
arch/m68k/bvme6000/config.c
··· 38 38 39 39 static void bvme6000_get_model(char *model); 40 40 static int bvme6000_get_hardware_list(char *buffer); 41 - extern void bvme6000_sched_init(irqreturn_t (*handler)(int, void *, struct pt_regs *)); 41 + extern void bvme6000_sched_init(irqreturn_t (*handler)(int, void *)); 42 42 extern unsigned long bvme6000_gettimeoffset (void); 43 43 extern int bvme6000_hwclk (int, struct rtc_time *); 44 44 extern int bvme6000_set_clock_mmss (unsigned long); ··· 52 52 /* Save tick handler routine pointer, will point to do_timer() in 53 53 * kernel/sched.c, called via bvme6000_process_int() */ 54 54 55 - static irqreturn_t (*tick_handler)(int, void *, struct pt_regs *); 55 + static irqreturn_t (*tick_handler)(int, void *); 56 56 57 57 58 58 int bvme6000_parse_bootinfo(const struct bi_record *bi) ··· 154 154 } 155 155 156 156 157 - irqreturn_t bvme6000_abort_int (int irq, void *dev_id, struct pt_regs *fp) 157 + irqreturn_t bvme6000_abort_int (int irq, void *dev_id) 158 158 { 159 159 unsigned long *new = (unsigned long *)vectors; 160 160 unsigned long *old = (unsigned long *)0xf8000000; ··· 171 171 } 172 172 173 173 174 - static irqreturn_t bvme6000_timer_int (int irq, void *dev_id, struct pt_regs *fp) 174 + static irqreturn_t bvme6000_timer_int (int irq, void *dev_id) 175 175 { 176 176 volatile RtcPtr_t rtc = (RtcPtr_t)BVME_RTC_BASE; 177 177 unsigned char msr = rtc->msr & 0xc0; 178 178 179 179 rtc->msr = msr | 0x20; /* Ack the interrupt */ 180 180 181 - return tick_handler(irq, dev_id, fp); 181 + return tick_handler(irq, dev_id); 182 182 } 183 183 184 184 /* ··· 190 190 * so divide by 8 to get the microsecond result. 191 191 */ 192 192 193 - void bvme6000_sched_init (irqreturn_t (*timer_routine)(int, void *, struct pt_regs *)) 193 + void bvme6000_sched_init (irqreturn_t (*timer_routine)(int, void *)) 194 194 { 195 195 volatile RtcPtr_t rtc = (RtcPtr_t)BVME_RTC_BASE; 196 196 unsigned char msr = rtc->msr & 0xc0;
+4 -4
arch/m68k/hp300/time.c
··· 36 36 37 37 #define INTVAL ((10000 / 4) - 1) 38 38 39 - static irqreturn_t hp300_tick(int irq, void *dev_id, struct pt_regs *regs) 39 + static irqreturn_t hp300_tick(int irq, void *dev_id) 40 40 { 41 41 unsigned long tmp; 42 - irqreturn_t (*vector)(int, void *, struct pt_regs *) = dev_id; 42 + irqreturn_t (*vector)(int, void *) = dev_id; 43 43 in_8(CLOCKBASE + CLKSR); 44 44 asm volatile ("movpw %1@(5),%0" : "=d" (tmp) : "a" (CLOCKBASE)); 45 45 /* Turn off the network and SCSI leds */ 46 46 blinken_leds(0, 0xe0); 47 - return vector(irq, NULL, regs); 47 + return vector(irq, NULL); 48 48 } 49 49 50 50 unsigned long hp300_gettimeoffset(void) ··· 63 63 return (USECS_PER_JIFFY * ticks) / INTVAL; 64 64 } 65 65 66 - void __init hp300_sched_init(irqreturn_t (*vector)(int, void *, struct pt_regs *)) 66 + void __init hp300_sched_init(irqreturn_t (*vector)(int, void *)) 67 67 { 68 68 out_8(CLOCKBASE + CLKCR2, 0x1); /* select CR1 */ 69 69 out_8(CLOCKBASE + CLKCR1, 0x1); /* reset */
+1 -1
arch/m68k/hp300/time.h
··· 1 - extern void hp300_sched_init(irqreturn_t (*vector)(int, void *, struct pt_regs *)); 1 + extern void hp300_sched_init(irqreturn_t (*vector)(int, void *)); 2 2 extern unsigned long hp300_gettimeoffset (void); 3 3 4 4
+2 -2
arch/m68k/kernel/entry.S
··· 205 205 movel %sp,%sp@- 206 206 movel %d0,%sp@- | put vector # on stack 207 207 auto_irqhandler_fixup = . + 2 208 - jsr m68k_handle_int | process the IRQ 208 + jsr __m68k_handle_int | process the IRQ 209 209 addql #8,%sp | pop parameters off stack 210 210 211 211 ret_from_interrupt: ··· 239 239 movel %sp,%sp@- 240 240 movel %d0,%sp@- | put vector # on stack 241 241 user_irqhandler_fixup = . + 2 242 - jsr m68k_handle_int | process the IRQ 242 + jsr __m68k_handle_int | process the IRQ 243 243 addql #8,%sp | pop parameters off stack 244 244 245 245 subqb #1,%curptr@(TASK_INFO+TINFO_PREEMPT+1)
+14 -6
arch/m68k/kernel/ints.c
··· 39 39 #include <asm/page.h> 40 40 #include <asm/machdep.h> 41 41 #include <asm/cacheflush.h> 42 + #include <asm/irq_regs.h> 42 43 43 44 #ifdef CONFIG_Q40 44 45 #include <asm/q40ints.h> ··· 105 104 * @handler: called from auto vector interrupts 106 105 * 107 106 * setup the handler to be called from auto vector interrupts instead of the 108 - * standard m68k_handle_int(), it will be called with irq numbers in the range 107 + * standard __m68k_handle_int(), it will be called with irq numbers in the range 109 108 * from IRQ_AUTO_1 - IRQ_AUTO_7. 110 109 */ 111 110 void __init m68k_setup_auto_interrupt(void (*handler)(unsigned int, struct pt_regs *)) ··· 124 123 * setup user vector interrupts, this includes activating the specified range 125 124 * of interrupts, only then these interrupts can be requested (note: this is 126 125 * different from auto vector interrupts). An optional handler can be installed 127 - * to be called instead of the default m68k_handle_int(), it will be called 126 + * to be called instead of the default __m68k_handle_int(), it will be called 128 127 * with irq numbers starting from IRQ_USER. 129 128 */ 130 129 void __init m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt, ··· 216 215 } 217 216 218 217 int request_irq(unsigned int irq, 219 - irqreturn_t (*handler) (int, void *, struct pt_regs *), 218 + irqreturn_t (*handler) (int, void *), 220 219 unsigned long flags, const char *devname, void *dev_id) 221 220 { 222 221 struct irq_node *node; ··· 380 379 381 380 EXPORT_SYMBOL(irq_canonicalize); 382 381 383 - asmlinkage void m68k_handle_int(unsigned int irq, struct pt_regs *regs) 382 + asmlinkage void m68k_handle_int(unsigned int irq) 384 383 { 385 384 struct irq_node *node; 386 - 387 385 kstat_cpu(0).irqs[irq]++; 388 386 node = irq_list[irq]; 389 387 do { 390 - node->handler(irq, node->dev_id, regs); 388 + node->handler(irq, node->dev_id); 391 389 node = node->next; 392 390 } while (node); 391 + } 392 + 393 + asmlinkage void __m68k_handle_int(unsigned int irq, struct pt_regs *regs) 394 + { 395 + struct pt_regs *old_regs; 396 + old_regs = set_irq_regs(regs); 397 + m68k_handle_int(irq); 398 + set_irq_regs(old_regs); 393 399 } 394 400 395 401 asmlinkage void handle_badint(struct pt_regs *regs)
+1 -1
arch/m68k/kernel/setup.c
··· 64 64 65 65 char m68k_debug_device[6] = ""; 66 66 67 - void (*mach_sched_init) (irqreturn_t (*handler)(int, void *, struct pt_regs *)) __initdata = NULL; 67 + void (*mach_sched_init) (irqreturn_t (*handler)(int, void *)) __initdata = NULL; 68 68 /* machine dependent irq functions */ 69 69 void (*mach_init_IRQ) (void) __initdata = NULL; 70 70 void (*mach_get_model) (char *model);
+4 -3
arch/m68k/kernel/time.c
··· 21 21 22 22 #include <asm/machdep.h> 23 23 #include <asm/io.h> 24 + #include <asm/irq_regs.h> 24 25 25 26 #include <linux/time.h> 26 27 #include <linux/timex.h> ··· 38 37 * timer_interrupt() needs to keep up the real-time clock, 39 38 * as well as call the "do_timer()" routine every clocktick 40 39 */ 41 - static irqreturn_t timer_interrupt(int irq, void *dummy, struct pt_regs * regs) 40 + static irqreturn_t timer_interrupt(int irq, void *dummy) 42 41 { 43 42 do_timer(1); 44 43 #ifndef CONFIG_SMP 45 - update_process_times(user_mode(regs)); 44 + update_process_times(user_mode(get_irq_regs())); 46 45 #endif 47 - profile_tick(CPU_PROFILING, regs); 46 + profile_tick(CPU_PROFILING); 48 47 49 48 #ifdef CONFIG_HEARTBEAT 50 49 /* use power LED as a heartbeat instead -- much more useful
+3 -3
arch/m68k/mac/baboon.c
··· 25 25 int baboon_present,baboon_active; 26 26 volatile struct baboon *baboon; 27 27 28 - irqreturn_t baboon_irq(int, void *, struct pt_regs *); 28 + irqreturn_t baboon_irq(int, void *); 29 29 30 30 #if 0 31 31 extern int macide_ack_intr(struct ata_channel *); ··· 64 64 * Baboon interrupt handler. This works a lot like a VIA. 65 65 */ 66 66 67 - irqreturn_t baboon_irq(int irq, void *dev_id, struct pt_regs *regs) 67 + irqreturn_t baboon_irq(int irq, void *dev_id) 68 68 { 69 69 int irq_bit,i; 70 70 unsigned char events; ··· 81 81 for (i = 0, irq_bit = 1 ; i < 3 ; i++, irq_bit <<= 1) { 82 82 if (events & irq_bit/* & baboon_active*/) { 83 83 baboon_active &= ~irq_bit; 84 - m68k_handle_int(IRQ_BABOON_0 + i, regs); 84 + m68k_handle_int(IRQ_BABOON_0 + i); 85 85 baboon_active |= irq_bit; 86 86 baboon->mb_ifr &= ~irq_bit; 87 87 }
+2 -2
arch/m68k/mac/config.c
··· 72 72 extern void iop_preinit(void); 73 73 extern void iop_init(void); 74 74 extern void via_init(void); 75 - extern void via_init_clock(irqreturn_t (*func)(int, void *, struct pt_regs *)); 75 + extern void via_init_clock(irqreturn_t (*func)(int, void *)); 76 76 extern void via_flush_cache(void); 77 77 extern void oss_init(void); 78 78 extern void psc_init(void); ··· 88 88 89 89 static void mac_get_model(char *str); 90 90 91 - static void mac_sched_init(irqreturn_t (*vector)(int, void *, struct pt_regs *)) 91 + static void mac_sched_init(irqreturn_t (*vector)(int, void *)) 92 92 { 93 93 via_init_clock(vector); 94 94 }
+11 -11
arch/m68k/mac/iop.c
··· 132 132 133 133 struct listener { 134 134 const char *devname; 135 - void (*handler)(struct iop_msg *, struct pt_regs *); 135 + void (*handler)(struct iop_msg *); 136 136 }; 137 137 138 138 /* ··· 152 152 static struct iop_msg *iop_send_queue[NUM_IOPS][NUM_IOP_CHAN]; 153 153 static struct listener iop_listeners[NUM_IOPS][NUM_IOP_CHAN]; 154 154 155 - irqreturn_t iop_ism_irq(int, void *, struct pt_regs *); 155 + irqreturn_t iop_ism_irq(int, void *); 156 156 157 157 extern void oss_irq_enable(int); 158 158 ··· 342 342 */ 343 343 344 344 int iop_listen(uint iop_num, uint chan, 345 - void (*handler)(struct iop_msg *, struct pt_regs *), 345 + void (*handler)(struct iop_msg *), 346 346 const char *devname) 347 347 { 348 348 if ((iop_num >= NUM_IOPS) || !iop_base[iop_num]) return -EINVAL; ··· 407 407 * has gone into the IOP_MSG_COMPLETE state. 408 408 */ 409 409 410 - static void iop_handle_send(uint iop_num, uint chan, struct pt_regs *regs) 410 + static void iop_handle_send(uint iop_num, uint chan) 411 411 { 412 412 volatile struct mac_iop *iop = iop_base[iop_num]; 413 413 struct iop_msg *msg,*msg2; ··· 426 426 for (i = 0 ; i < IOP_MSG_LEN ; i++, offset++) { 427 427 msg->reply[i] = iop_readb(iop, offset); 428 428 } 429 - if (msg->handler) (*msg->handler)(msg, regs); 429 + if (msg->handler) (*msg->handler)(msg); 430 430 msg2 = msg; 431 431 msg = msg->next; 432 432 iop_free_msg(msg2); ··· 440 440 * gone into the IOP_MSG_NEW state. 441 441 */ 442 442 443 - static void iop_handle_recv(uint iop_num, uint chan, struct pt_regs *regs) 443 + static void iop_handle_recv(uint iop_num, uint chan) 444 444 { 445 445 volatile struct mac_iop *iop = iop_base[iop_num]; 446 446 int i,offset; ··· 468 468 /* the message ourselves to avoid possible stalls. */ 469 469 470 470 if (msg->handler) { 471 - (*msg->handler)(msg, regs); 471 + (*msg->handler)(msg); 472 472 } else { 473 473 #ifdef DEBUG_IOP 474 474 printk("iop_handle_recv: unclaimed message on iop %d channel %d\n", iop_num, chan); ··· 492 492 493 493 int iop_send_message(uint iop_num, uint chan, void *privdata, 494 494 uint msg_len, __u8 *msg_data, 495 - void (*handler)(struct iop_msg *, struct pt_regs *)) 495 + void (*handler)(struct iop_msg *)) 496 496 { 497 497 struct iop_msg *msg, *q; 498 498 ··· 584 584 * Handle an ISM IOP interrupt 585 585 */ 586 586 587 - irqreturn_t iop_ism_irq(int irq, void *dev_id, struct pt_regs *regs) 587 + irqreturn_t iop_ism_irq(int irq, void *dev_id) 588 588 { 589 589 uint iop_num = (uint) dev_id; 590 590 volatile struct mac_iop *iop = iop_base[iop_num]; ··· 608 608 printk(" %02X", state); 609 609 #endif 610 610 if (state == IOP_MSG_COMPLETE) { 611 - iop_handle_send(iop_num, i, regs); 611 + iop_handle_send(iop_num, i); 612 612 } 613 613 } 614 614 #ifdef DEBUG_IOP ··· 628 628 printk(" %02X", state); 629 629 #endif 630 630 if (state == IOP_MSG_NEW) { 631 - iop_handle_recv(iop_num, i, regs); 631 + iop_handle_recv(iop_num, i); 632 632 } 633 633 } 634 634 #ifdef DEBUG_IOP
+9 -7
arch/m68k/mac/macints.c
··· 133 133 #include <asm/hwtest.h> 134 134 #include <asm/errno.h> 135 135 #include <asm/macints.h> 136 + #include <asm/irq_regs.h> 136 137 137 138 #define DEBUG_SPURIOUS 138 139 #define SHUTUP_SONIC ··· 209 208 * console_loglevel determines NMI handler function 210 209 */ 211 210 212 - irqreturn_t mac_nmi_handler(int, void *, struct pt_regs *); 213 - irqreturn_t mac_debug_handler(int, void *, struct pt_regs *); 211 + irqreturn_t mac_nmi_handler(int, void *); 212 + irqreturn_t mac_debug_handler(int, void *); 214 213 215 214 /* #define DEBUG_MACINTS */ 216 215 ··· 394 393 395 394 static int num_debug[8]; 396 395 397 - irqreturn_t mac_debug_handler(int irq, void *dev_id, struct pt_regs *regs) 396 + irqreturn_t mac_debug_handler(int irq, void *dev_id) 398 397 { 399 398 if (num_debug[irq] < 10) { 400 399 printk("DEBUG: Unexpected IRQ %d\n", irq); ··· 406 405 static int in_nmi; 407 406 static volatile int nmi_hold; 408 407 409 - irqreturn_t mac_nmi_handler(int irq, void *dev_id, struct pt_regs *fp) 408 + irqreturn_t mac_nmi_handler(int irq, void *dev_id) 410 409 { 411 410 int i; 412 411 /* ··· 433 432 434 433 if (console_loglevel >= 8) { 435 434 #if 0 435 + struct pt_regs *fp = get_irq_regs(); 436 436 show_state(); 437 437 printk("PC: %08lx\nSR: %04x SP: %p\n", fp->pc, fp->sr, fp); 438 438 printk("d0: %08lx d1: %08lx d2: %08lx d3: %08lx\n", ··· 481 479 * here is cleaner than hacking it into drivers/char/macserial.c. 482 480 */ 483 481 484 - void mac_scc_dispatch(int irq, void *dev_id, struct pt_regs *regs) 482 + void mac_scc_dispatch(int irq, void *dev_id) 485 483 { 486 484 volatile unsigned char *scc = (unsigned char *) mac_bi_data.sccbase + 2; 487 485 unsigned char reg; ··· 506 504 /* pretty much kill the system. */ 507 505 508 506 if (reg & 0x38) 509 - m68k_handle_int(IRQ_SCCA, regs); 507 + m68k_handle_int(IRQ_SCCA); 510 508 if (reg & 0x07) 511 - m68k_handle_int(IRQ_SCCB, regs); 509 + m68k_handle_int(IRQ_SCCB); 512 510 }
+8 -8
arch/m68k/mac/oss.c
··· 30 30 int oss_present; 31 31 volatile struct mac_oss *oss; 32 32 33 - irqreturn_t oss_irq(int, void *, struct pt_regs *); 34 - irqreturn_t oss_nubus_irq(int, void *, struct pt_regs *); 33 + irqreturn_t oss_irq(int, void *); 34 + irqreturn_t oss_nubus_irq(int, void *); 35 35 36 - extern irqreturn_t via1_irq(int, void *, struct pt_regs *); 37 - extern irqreturn_t mac_scc_dispatch(int, void *, struct pt_regs *); 36 + extern irqreturn_t via1_irq(int, void *); 37 + extern irqreturn_t mac_scc_dispatch(int, void *); 38 38 39 39 /* 40 40 * Initialize the OSS ··· 92 92 * and SCSI; everything else is routed to its own autovector IRQ. 93 93 */ 94 94 95 - irqreturn_t oss_irq(int irq, void *dev_id, struct pt_regs *regs) 95 + irqreturn_t oss_irq(int irq, void *dev_id) 96 96 { 97 97 int events; 98 98 ··· 113 113 oss->irq_pending &= ~OSS_IP_SOUND; 114 114 } else if (events & OSS_IP_SCSI) { 115 115 oss->irq_level[OSS_SCSI] = OSS_IRQLEV_DISABLED; 116 - m68k_handle_int(IRQ_MAC_SCSI, regs); 116 + m68k_handle_int(IRQ_MAC_SCSI); 117 117 oss->irq_pending &= ~OSS_IP_SCSI; 118 118 oss->irq_level[OSS_SCSI] = OSS_IRQLEV_SCSI; 119 119 } else { ··· 128 128 * Unlike the VIA/RBV this is on its own autovector interrupt level. 129 129 */ 130 130 131 - irqreturn_t oss_nubus_irq(int irq, void *dev_id, struct pt_regs *regs) 131 + irqreturn_t oss_nubus_irq(int irq, void *dev_id) 132 132 { 133 133 int events, irq_bit, i; 134 134 ··· 146 146 for (i = 0, irq_bit = 1 ; i < 6 ; i++, irq_bit <<= 1) { 147 147 if (events & irq_bit) { 148 148 oss->irq_level[i] = OSS_IRQLEV_DISABLED; 149 - m68k_handle_int(NUBUS_SOURCE_BASE + i, regs); 149 + m68k_handle_int(NUBUS_SOURCE_BASE + i); 150 150 oss->irq_pending &= ~irq_bit; 151 151 oss->irq_level[i] = OSS_IRQLEV_NUBUS; 152 152 }
+3 -3
arch/m68k/mac/psc.c
··· 30 30 int psc_present; 31 31 volatile __u8 *psc; 32 32 33 - irqreturn_t psc_irq(int, void *, struct pt_regs *); 33 + irqreturn_t psc_irq(int, void *); 34 34 35 35 /* 36 36 * Debugging dump, used in various places to see what's going on. ··· 127 127 * PSC interrupt handler. It's a lot like the VIA interrupt handler. 128 128 */ 129 129 130 - irqreturn_t psc_irq(int irq, void *dev_id, struct pt_regs *regs) 130 + irqreturn_t psc_irq(int irq, void *dev_id) 131 131 { 132 132 int pIFR = pIFRbase + ((int) dev_id); 133 133 int pIER = pIERbase + ((int) dev_id); ··· 149 149 for (i = 0, irq_bit = 1 ; i < 4 ; i++, irq_bit <<= 1) { 150 150 if (events & irq_bit) { 151 151 psc_write_byte(pIER, irq_bit); 152 - m68k_handle_int(base_irq + i, regs); 152 + m68k_handle_int(base_irq + i); 153 153 psc_write_byte(pIFR, irq_bit); 154 154 psc_write_byte(pIER, irq_bit | 0x80); 155 155 }
+12 -12
arch/m68k/mac/via.c
··· 63 63 static int nubus_active; 64 64 65 65 void via_debug_dump(void); 66 - irqreturn_t via1_irq(int, void *, struct pt_regs *); 67 - irqreturn_t via2_irq(int, void *, struct pt_regs *); 68 - irqreturn_t via_nubus_irq(int, void *, struct pt_regs *); 66 + irqreturn_t via1_irq(int, void *); 67 + irqreturn_t via2_irq(int, void *); 68 + irqreturn_t via_nubus_irq(int, void *); 69 69 void via_irq_enable(int irq); 70 70 void via_irq_disable(int irq); 71 71 void via_irq_clear(int irq); 72 72 73 - extern irqreturn_t mac_scc_dispatch(int, void *, struct pt_regs *); 73 + extern irqreturn_t mac_scc_dispatch(int, void *); 74 74 extern int oss_present; 75 75 76 76 /* ··· 235 235 * Start the 100 Hz clock 236 236 */ 237 237 238 - void __init via_init_clock(irqreturn_t (*func)(int, void *, struct pt_regs *)) 238 + void __init via_init_clock(irqreturn_t (*func)(int, void *)) 239 239 { 240 240 via1[vACR] |= 0x40; 241 241 via1[vT1LL] = MAC_CLOCK_LOW; ··· 412 412 * the machspec interrupt number after clearing the interrupt. 413 413 */ 414 414 415 - irqreturn_t via1_irq(int irq, void *dev_id, struct pt_regs *regs) 415 + irqreturn_t via1_irq(int irq, void *dev_id) 416 416 { 417 417 int irq_bit, i; 418 418 unsigned char events, mask; ··· 424 424 for (i = 0, irq_bit = 1 ; i < 7 ; i++, irq_bit <<= 1) 425 425 if (events & irq_bit) { 426 426 via1[vIER] = irq_bit; 427 - m68k_handle_int(VIA1_SOURCE_BASE + i, regs); 427 + m68k_handle_int(VIA1_SOURCE_BASE + i); 428 428 via1[vIFR] = irq_bit; 429 429 via1[vIER] = irq_bit | 0x80; 430 430 } ··· 439 439 /* No, it won't be set. that's why we're doing this. */ 440 440 via_irq_disable(IRQ_MAC_NUBUS); 441 441 via_irq_clear(IRQ_MAC_NUBUS); 442 - m68k_handle_int(IRQ_MAC_NUBUS, regs); 442 + m68k_handle_int(IRQ_MAC_NUBUS); 443 443 via_irq_enable(IRQ_MAC_NUBUS); 444 444 } 445 445 #endif 446 446 return IRQ_HANDLED; 447 447 } 448 448 449 - irqreturn_t via2_irq(int irq, void *dev_id, struct pt_regs *regs) 449 + irqreturn_t via2_irq(int irq, void *dev_id) 450 450 { 451 451 int irq_bit, i; 452 452 unsigned char events, mask; ··· 459 459 if (events & irq_bit) { 460 460 via2[gIER] = irq_bit; 461 461 via2[gIFR] = irq_bit | rbv_clear; 462 - m68k_handle_int(VIA2_SOURCE_BASE + i, regs); 462 + m68k_handle_int(VIA2_SOURCE_BASE + i); 463 463 via2[gIER] = irq_bit | 0x80; 464 464 } 465 465 return IRQ_HANDLED; ··· 470 470 * VIA2 dispatcher as a fast interrupt handler. 471 471 */ 472 472 473 - irqreturn_t via_nubus_irq(int irq, void *dev_id, struct pt_regs *regs) 473 + irqreturn_t via_nubus_irq(int irq, void *dev_id) 474 474 { 475 475 int irq_bit, i; 476 476 unsigned char events; ··· 481 481 for (i = 0, irq_bit = 1 ; i < 7 ; i++, irq_bit <<= 1) { 482 482 if (events & irq_bit) { 483 483 via_irq_disable(NUBUS_SOURCE_BASE + i); 484 - m68k_handle_int(NUBUS_SOURCE_BASE + i, regs); 484 + m68k_handle_int(NUBUS_SOURCE_BASE + i); 485 485 via_irq_enable(NUBUS_SOURCE_BASE + i); 486 486 } 487 487 }
+5 -5
arch/m68k/mvme147/config.c
··· 38 38 39 39 static void mvme147_get_model(char *model); 40 40 static int mvme147_get_hardware_list(char *buffer); 41 - extern void mvme147_sched_init(irqreturn_t (*handler)(int, void *, struct pt_regs *)); 41 + extern void mvme147_sched_init(irqreturn_t (*handler)(int, void *)); 42 42 extern unsigned long mvme147_gettimeoffset (void); 43 43 extern int mvme147_hwclk (int, struct rtc_time *); 44 44 extern int mvme147_set_clock_mmss (unsigned long); ··· 51 51 /* Save tick handler routine pointer, will point to do_timer() in 52 52 * kernel/sched.c, called via mvme147_process_int() */ 53 53 54 - irqreturn_t (*tick_handler)(int, void *, struct pt_regs *); 54 + irqreturn_t (*tick_handler)(int, void *); 55 55 56 56 57 57 int mvme147_parse_bootinfo(const struct bi_record *bi) ··· 114 114 115 115 /* Using pcc tick timer 1 */ 116 116 117 - static irqreturn_t mvme147_timer_int (int irq, void *dev_id, struct pt_regs *fp) 117 + static irqreturn_t mvme147_timer_int (int irq, void *dev_id) 118 118 { 119 119 m147_pcc->t1_int_cntrl = PCC_TIMER_INT_CLR; 120 120 m147_pcc->t1_int_cntrl = PCC_INT_ENAB|PCC_LEVEL_TIMER1; 121 - return tick_handler(irq, dev_id, fp); 121 + return tick_handler(irq, dev_id); 122 122 } 123 123 124 124 125 - void mvme147_sched_init (irqreturn_t (*timer_routine)(int, void *, struct pt_regs *)) 125 + void mvme147_sched_init (irqreturn_t (*timer_routine)(int, void *)) 126 126 { 127 127 tick_handler = timer_routine; 128 128 request_irq (PCC_IRQ_TIMER1, mvme147_timer_int,
+6 -6
arch/m68k/mvme16x/config.c
··· 42 42 43 43 static void mvme16x_get_model(char *model); 44 44 static int mvme16x_get_hardware_list(char *buffer); 45 - extern void mvme16x_sched_init(irqreturn_t (*handler)(int, void *, struct pt_regs *)); 45 + extern void mvme16x_sched_init(irqreturn_t (*handler)(int, void *)); 46 46 extern unsigned long mvme16x_gettimeoffset (void); 47 47 extern int mvme16x_hwclk (int, struct rtc_time *); 48 48 extern int mvme16x_set_clock_mmss (unsigned long); ··· 54 54 /* Save tick handler routine pointer, will point to do_timer() in 55 55 * kernel/sched.c, called via mvme16x_process_int() */ 56 56 57 - static irqreturn_t (*tick_handler)(int, void *, struct pt_regs *); 57 + static irqreturn_t (*tick_handler)(int, void *); 58 58 59 59 60 60 unsigned short mvme16x_config; ··· 190 190 } 191 191 } 192 192 193 - static irqreturn_t mvme16x_abort_int (int irq, void *dev_id, struct pt_regs *fp) 193 + static irqreturn_t mvme16x_abort_int (int irq, void *dev_id) 194 194 { 195 195 p_bdid p = &mvme_bdid; 196 196 unsigned long *new = (unsigned long *)vectors; ··· 218 218 return IRQ_HANDLED; 219 219 } 220 220 221 - static irqreturn_t mvme16x_timer_int (int irq, void *dev_id, struct pt_regs *fp) 221 + static irqreturn_t mvme16x_timer_int (int irq, void *dev_id) 222 222 { 223 223 *(volatile unsigned char *)0xfff4201b |= 8; 224 - return tick_handler(irq, dev_id, fp); 224 + return tick_handler(irq, dev_id); 225 225 } 226 226 227 - void mvme16x_sched_init (irqreturn_t (*timer_routine)(int, void *, struct pt_regs *)) 227 + void mvme16x_sched_init (irqreturn_t (*timer_routine)(int, void *)) 228 228 { 229 229 p_bdid p = &mvme_bdid; 230 230 int irq;
+1 -1
arch/m68k/q40/config.c
··· 39 39 extern void q40_init_IRQ (void); 40 40 static void q40_get_model(char *model); 41 41 static int q40_get_hardware_list(char *buffer); 42 - extern void q40_sched_init(irqreturn_t (*handler)(int, void *, struct pt_regs *)); 42 + extern void q40_sched_init(irqreturn_t (*handler)(int, void *)); 43 43 44 44 extern unsigned long q40_gettimeoffset (void); 45 45 extern int q40_hwclk (int, struct rtc_time *);
+8 -8
arch/m68k/q40/q40ints.c
··· 125 125 sound_ticks = ticks << 1; 126 126 } 127 127 128 - static irqreturn_t (*q40_timer_routine)(int, void *, struct pt_regs *); 128 + static irqreturn_t (*q40_timer_routine)(int, void *); 129 129 130 - static irqreturn_t q40_timer_int (int irq, void * dev, struct pt_regs * regs) 130 + static irqreturn_t q40_timer_int (int irq, void * dev) 131 131 { 132 132 ql_ticks = ql_ticks ? 0 : 1; 133 133 if (sound_ticks) { ··· 138 138 } 139 139 140 140 if (!ql_ticks) 141 - q40_timer_routine(irq, dev, regs); 141 + q40_timer_routine(irq, dev); 142 142 return IRQ_HANDLED; 143 143 } 144 144 145 - void q40_sched_init (irqreturn_t (*timer_routine)(int, void *, struct pt_regs *)) 145 + void q40_sched_init (irqreturn_t (*timer_routine)(int, void *)) 146 146 { 147 147 int timer_irq; 148 148 ··· 218 218 switch (irq) { 219 219 case 4: 220 220 case 6: 221 - m68k_handle_int(Q40_IRQ_SAMPLE, fp); 221 + __m68k_handle_int(Q40_IRQ_SAMPLE, fp); 222 222 return; 223 223 } 224 224 if (mir & Q40_IRQ_FRAME_MASK) { 225 - m68k_handle_int(Q40_IRQ_FRAME, fp); 225 + __m68k_handle_int(Q40_IRQ_FRAME, fp); 226 226 master_outb(-1, FRAME_CLEAR_REG); 227 227 } 228 228 if ((mir & Q40_IRQ_SER_MASK) || (mir & Q40_IRQ_EXT_MASK)) { ··· 257 257 goto iirq; 258 258 } 259 259 q40_state[irq] |= IRQ_INPROGRESS; 260 - m68k_handle_int(irq, fp); 260 + __m68k_handle_int(irq, fp); 261 261 q40_state[irq] &= ~IRQ_INPROGRESS; 262 262 263 263 /* naively enable everything, if that fails than */ ··· 288 288 mir = master_inb(IIRQ_REG); 289 289 /* should test whether keyboard irq is really enabled, doing it in defhand */ 290 290 if (mir & Q40_IRQ_KEYB_MASK) 291 - m68k_handle_int(Q40_IRQ_KEYBOARD, fp); 291 + __m68k_handle_int(Q40_IRQ_KEYBOARD, fp); 292 292 293 293 return; 294 294 }
+1 -1
arch/m68k/sun3/config.c
··· 162 162 sun3_bootmem_alloc(memory_start, memory_end); 163 163 } 164 164 165 - void __init sun3_sched_init(irqreturn_t (*timer_routine)(int, void *, struct pt_regs *)) 165 + void __init sun3_sched_init(irqreturn_t (*timer_routine)(int, void *)) 166 166 { 167 167 sun3_disable_interrupts(); 168 168 intersil_clock->cmd_reg=(INTERSIL_RUN|INTERSIL_INT_DISABLE|INTERSIL_24H_MODE);
+6 -5
arch/m68k/sun3/sun3ints.c
··· 15 15 #include <asm/intersil.h> 16 16 #include <asm/oplib.h> 17 17 #include <asm/sun3ints.h> 18 + #include <asm/irq_regs.h> 18 19 #include <linux/seq_file.h> 19 20 20 21 extern void sun3_leds (unsigned char); ··· 49 48 *sun3_intreg &= ~(1 << irq); 50 49 } 51 50 52 - static irqreturn_t sun3_int7(int irq, void *dev_id, struct pt_regs *fp) 51 + static irqreturn_t sun3_int7(int irq, void *dev_id) 53 52 { 54 53 *sun3_intreg |= (1 << irq); 55 54 if (!(kstat_cpu(0).irqs[irq] % 2000)) ··· 57 56 return IRQ_HANDLED; 58 57 } 59 58 60 - static irqreturn_t sun3_int5(int irq, void *dev_id, struct pt_regs *fp) 59 + static irqreturn_t sun3_int5(int irq, void *dev_id) 61 60 { 62 61 #ifdef CONFIG_SUN3 63 62 intersil_clear(); ··· 68 67 #endif 69 68 do_timer(1); 70 69 #ifndef CONFIG_SMP 71 - update_process_times(user_mode(fp)); 70 + update_process_times(user_mode(get_irq_regs())); 72 71 #endif 73 72 if (!(kstat_cpu(0).irqs[irq] % 20)) 74 73 sun3_leds(led_pattern[(kstat_cpu(0).irqs[irq] % 160) / 20]); 75 74 return IRQ_HANDLED; 76 75 } 77 76 78 - static irqreturn_t sun3_vec255(int irq, void *dev_id, struct pt_regs *fp) 77 + static irqreturn_t sun3_vec255(int irq, void *dev_id) 79 78 { 80 79 // intersil_clear(); 81 80 return IRQ_HANDLED; ··· 85 84 { 86 85 *sun3_intreg &= ~(1 << irq); 87 86 88 - m68k_handle_int(irq, fp); 87 + __m68k_handle_int(irq, fp); 89 88 } 90 89 91 90 static struct irq_controller sun3_irq_controller = {
+1 -1
arch/m68k/sun3x/time.c
··· 90 90 } 91 91 #endif 92 92 93 - void __init sun3x_sched_init(irqreturn_t (*vector)(int, void *, struct pt_regs *)) 93 + void __init sun3x_sched_init(irqreturn_t (*vector)(int, void *)) 94 94 { 95 95 96 96 sun3_disable_interrupts();
+1 -1
arch/m68k/sun3x/time.h
··· 3 3 4 4 extern int sun3x_hwclk(int set, struct rtc_time *t); 5 5 unsigned long sun3x_gettimeoffset (void); 6 - void sun3x_sched_init(irqreturn_t (*vector)(int, void *, struct pt_regs *)); 6 + void sun3x_sched_init(irqreturn_t (*vector)(int, void *)); 7 7 8 8 struct mostek_dt { 9 9 volatile unsigned char csr;
+1 -1
drivers/char/vme_scc.c
··· 593 593 local_irq_save(flags); 594 594 SCCmod(INT_AND_DMA_REG, 0xff, IDR_TX_INT_ENAB); 595 595 /* restart the transmitter */ 596 - scc_tx_int (0, port, 0); 596 + scc_tx_int (0, port); 597 597 local_irq_restore(flags); 598 598 } 599 599
+1 -1
drivers/macintosh/adb-iop.c
··· 266 266 void adb_iop_poll(void) 267 267 { 268 268 if (adb_iop_state == idle) adb_iop_start(); 269 - iop_ism_irq(0, (void *) ADB_IOP, NULL); 269 + iop_ism_irq(0, (void *) ADB_IOP); 270 270 } 271 271 272 272 int adb_iop_reset_bus(void)
+1 -1
drivers/macintosh/via-macii.c
··· 295 295 unsigned long flags; 296 296 297 297 local_irq_save(flags); 298 - if (via[IFR] & SR_INT) macii_interrupt(0, NULL, NULL); 298 + if (via[IFR] & SR_INT) macii_interrupt(0, NULL); 299 299 local_irq_restore(flags); 300 300 } 301 301
+1 -1
drivers/macintosh/via-maciisi.c
··· 421 421 422 422 local_irq_save(flags); 423 423 if (via[IFR] & SR_INT) { 424 - maciisi_interrupt(0, NULL, NULL); 424 + maciisi_interrupt(0, NULL); 425 425 } 426 426 else /* avoid calling this function too quickly in a loop */ 427 427 udelay(ADB_DELAY);
+3 -3
drivers/macintosh/via-pmu68k.c
··· 221 221 } 222 222 if (pmu_state == idle) { 223 223 adb_int_pending = 1; 224 - pmu_interrupt(0, NULL, NULL); 224 + pmu_interrupt(0, NULL); 225 225 } 226 226 pmu_poll(); 227 227 udelay(10); ··· 562 562 local_irq_save(flags); 563 563 if (via1[IFR] & SR_INT) { 564 564 via1[IFR] = SR_INT; 565 - pmu_interrupt(IRQ_MAC_ADB_SR, NULL, NULL); 565 + pmu_interrupt(IRQ_MAC_ADB_SR, NULL); 566 566 } 567 567 if (via1[IFR] & CB1_INT) { 568 568 via1[IFR] = CB1_INT; 569 - pmu_interrupt(IRQ_MAC_ADB_CL, NULL, NULL); 569 + pmu_interrupt(IRQ_MAC_ADB_CL, NULL); 570 570 } 571 571 local_irq_restore(flags); 572 572 }
+1 -1
drivers/net/7990.c
··· 674 674 WRITERAP(lp, LE_CSR0); 675 675 WRITERDP(lp, LE_C0_STRT); 676 676 spin_unlock (&lp->devlock); 677 - lance_interrupt(dev->irq, dev, NULL); 677 + lance_interrupt(dev->irq, dev); 678 678 } 679 679 #endif 680 680
+1 -1
drivers/parport/parport_mfc3.c
··· 219 219 if (this_port[i] != NULL) 220 220 if (pia(this_port[i])->crb & 128) { /* Board caused interrupt */ 221 221 dummy = pia(this_port[i])->pprb; /* clear irq bit */ 222 - parport_generic_irq(irq, this_port[i], regs); 222 + parport_generic_irq(irq, this_port[i]); 223 223 } 224 224 return IRQ_HANDLED; 225 225 }
+1 -2
include/asm-m68k/atari_stdma.h
··· 8 8 9 9 /***************************** Prototypes *****************************/ 10 10 11 - void stdma_lock(irqreturn_t (*handler)(int, void *, struct pt_regs *), 12 - void *data); 11 + void stdma_lock(irqreturn_t (*handler)(int, void *), void *data); 13 12 void stdma_release( void ); 14 13 int stdma_others_waiting( void ); 15 14 int stdma_islocked( void );
+4 -6
include/asm-m68k/floppy.h
··· 17 17 18 18 #include <linux/vmalloc.h> 19 19 20 - asmlinkage irqreturn_t floppy_hardint(int irq, void *dev_id, 21 - struct pt_regs *regs); 20 + asmlinkage irqreturn_t floppy_hardint(int irq, void *dev_id); 22 21 23 22 /* constants... */ 24 23 ··· 183 184 184 185 /* this is the only truly Q40 specific function */ 185 186 186 - asmlinkage irqreturn_t floppy_hardint(int irq, void *dev_id, 187 - struct pt_regs *regs) 187 + asmlinkage irqreturn_t floppy_hardint(int irq, void *dev_id) 188 188 { 189 189 register unsigned char st; 190 190 ··· 196 198 static int dma_wait=0; 197 199 #endif 198 200 if(!doing_pdma) { 199 - floppy_interrupt(irq, dev_id, regs); 201 + floppy_interrupt(irq, dev_id); 200 202 return IRQ_HANDLED; 201 203 } 202 204 ··· 244 246 dma_wait=0; 245 247 #endif 246 248 doing_pdma = 0; 247 - floppy_interrupt(irq, dev_id, regs); 249 + floppy_interrupt(irq, dev_id); 248 250 return IRQ_HANDLED; 249 251 } 250 252 #ifdef TRACE_FLPY_INT
+1 -1
include/asm-m68k/ide.h
··· 123 123 } 124 124 125 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 128 if (MACH_IS_ATARI) { 129 129 if (falconide_intr_lock == 0) {
+6 -5
include/asm-m68k/irq.h
··· 83 83 * interrupt source (if it supports chaining). 84 84 */ 85 85 typedef struct irq_node { 86 - int (*handler)(int, void *, struct pt_regs *); 86 + int (*handler)(int, void *); 87 87 void *dev_id; 88 88 struct irq_node *next; 89 89 unsigned long flags; ··· 93 93 /* 94 94 * This structure has only 4 elements for speed reasons 95 95 */ 96 - typedef struct irq_handler { 97 - int (*handler)(int, void *, struct pt_regs *); 96 + struct irq_handler { 97 + int (*handler)(int, void *); 98 98 unsigned long flags; 99 99 void *dev_id; 100 100 const char *devname; 101 - } irq_handler_t; 101 + }; 102 102 103 103 struct irq_controller { 104 104 const char *name; ··· 122 122 void (*handler)(unsigned int, struct pt_regs *)); 123 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 128 #endif /* _M68K_IRQ_H_ */
+3 -3
include/asm-m68k/mac_iop.h
··· 143 143 int status; /* status of this message */ 144 144 __u8 message[IOP_MSG_LEN]; /* the message being sent/received */ 145 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 147 /* function to call when reply recvd */ 148 148 }; 149 149 150 150 extern int iop_scc_present,iop_ism_present; 151 151 152 152 extern int iop_listen(uint, uint, 153 - void (*handler)(struct iop_msg *, struct pt_regs *), 153 + void (*handler)(struct iop_msg *), 154 154 const char *); 155 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 157 extern void iop_complete_message(struct iop_msg *); 158 158 extern void iop_upload_code(uint, __u8 *, uint, __u16); 159 159 extern void iop_download_code(uint, __u8 *, uint, __u16);
+1 -1
include/asm-m68k/machdep.h
··· 10 10 struct rtc_pll_info; 11 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 14 /* machine dependent irq functions */ 15 15 extern void (*mach_init_IRQ) (void); 16 16 extern void (*mach_get_model) (char *model);
+3 -4
include/asm-m68k/sun3xflop.h
··· 111 111 } 112 112 113 113 114 - asmlinkage irqreturn_t sun3xflop_hardint(int irq, void *dev_id, 115 - struct pt_regs * regs) 114 + asmlinkage irqreturn_t sun3xflop_hardint(int irq, void *dev_id) 116 115 { 117 116 register unsigned char st; 118 117 ··· 124 125 static int dma_wait=0; 125 126 #endif 126 127 if(!doing_pdma) { 127 - floppy_interrupt(irq, dev_id, regs); 128 + floppy_interrupt(irq, dev_id); 128 129 return IRQ_HANDLED; 129 130 } 130 131 ··· 188 189 dma_wait=0; 189 190 #endif 190 191 191 - floppy_interrupt(irq, dev_id, regs); 192 + floppy_interrupt(irq, dev_id); 192 193 return IRQ_HANDLED; 193 194 } 194 195