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 /arch/m68k/mac | |
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 'arch/m68k/mac')
-rw-r--r-- | arch/m68k/mac/baboon.c | 6 | ||||
-rw-r--r-- | arch/m68k/mac/config.c | 4 | ||||
-rw-r--r-- | arch/m68k/mac/iop.c | 22 | ||||
-rw-r--r-- | arch/m68k/mac/macints.c | 16 | ||||
-rw-r--r-- | arch/m68k/mac/oss.c | 16 | ||||
-rw-r--r-- | arch/m68k/mac/psc.c | 6 | ||||
-rw-r--r-- | arch/m68k/mac/via.c | 24 |
7 files changed, 48 insertions, 46 deletions
diff --git a/arch/m68k/mac/baboon.c b/arch/m68k/mac/baboon.c index 6eaa881793d1..a1c7ec706741 100644 --- a/arch/m68k/mac/baboon.c +++ b/arch/m68k/mac/baboon.c | |||
@@ -25,7 +25,7 @@ | |||
25 | int baboon_present,baboon_active; | 25 | int baboon_present,baboon_active; |
26 | volatile struct baboon *baboon; | 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 | #if 0 | 30 | #if 0 |
31 | extern int macide_ack_intr(struct ata_channel *); | 31 | extern int macide_ack_intr(struct ata_channel *); |
@@ -64,7 +64,7 @@ void __init baboon_register_interrupts(void) | |||
64 | * Baboon interrupt handler. This works a lot like a VIA. | 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 | int irq_bit,i; | 69 | int irq_bit,i; |
70 | unsigned char events; | 70 | unsigned char events; |
@@ -81,7 +81,7 @@ irqreturn_t baboon_irq(int irq, void *dev_id, struct pt_regs *regs) | |||
81 | for (i = 0, irq_bit = 1 ; i < 3 ; i++, irq_bit <<= 1) { | 81 | for (i = 0, irq_bit = 1 ; i < 3 ; i++, irq_bit <<= 1) { |
82 | if (events & irq_bit/* & baboon_active*/) { | 82 | if (events & irq_bit/* & baboon_active*/) { |
83 | baboon_active &= ~irq_bit; | 83 | baboon_active &= ~irq_bit; |
84 | m68k_handle_int(IRQ_BABOON_0 + i, regs); | 84 | m68k_handle_int(IRQ_BABOON_0 + i); |
85 | baboon_active |= irq_bit; | 85 | baboon_active |= irq_bit; |
86 | baboon->mb_ifr &= ~irq_bit; | 86 | baboon->mb_ifr &= ~irq_bit; |
87 | } | 87 | } |
diff --git a/arch/m68k/mac/config.c b/arch/m68k/mac/config.c index 85dda1095b1f..029bae65c5d1 100644 --- a/arch/m68k/mac/config.c +++ b/arch/m68k/mac/config.c | |||
@@ -72,7 +72,7 @@ extern int show_mac_interrupts(struct seq_file *, void *); | |||
72 | extern void iop_preinit(void); | 72 | extern void iop_preinit(void); |
73 | extern void iop_init(void); | 73 | extern void iop_init(void); |
74 | extern void via_init(void); | 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 | extern void via_flush_cache(void); | 76 | extern void via_flush_cache(void); |
77 | extern void oss_init(void); | 77 | extern void oss_init(void); |
78 | extern void psc_init(void); | 78 | extern void psc_init(void); |
@@ -88,7 +88,7 @@ extern void mac_debugging_long(int, long); | |||
88 | 88 | ||
89 | static void mac_get_model(char *str); | 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 | via_init_clock(vector); | 93 | via_init_clock(vector); |
94 | } | 94 | } |
diff --git a/arch/m68k/mac/iop.c b/arch/m68k/mac/iop.c index bc657b1057a7..0cea21f58192 100644 --- a/arch/m68k/mac/iop.c +++ b/arch/m68k/mac/iop.c | |||
@@ -132,7 +132,7 @@ static int iop_get_proc_info(char *, char **, off_t, int); | |||
132 | 132 | ||
133 | struct listener { | 133 | struct listener { |
134 | const char *devname; | 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,7 +152,7 @@ static struct iop_msg iop_msg_pool[NUM_IOP_MSGS]; | |||
152 | static struct iop_msg *iop_send_queue[NUM_IOPS][NUM_IOP_CHAN]; | 152 | static struct iop_msg *iop_send_queue[NUM_IOPS][NUM_IOP_CHAN]; |
153 | static struct listener iop_listeners[NUM_IOPS][NUM_IOP_CHAN]; | 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 | extern void oss_irq_enable(int); | 157 | extern void oss_irq_enable(int); |
158 | 158 | ||
@@ -342,7 +342,7 @@ void __init iop_register_interrupts(void) | |||
342 | */ | 342 | */ |
343 | 343 | ||
344 | int iop_listen(uint iop_num, uint chan, | 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 | const char *devname) | 346 | const char *devname) |
347 | { | 347 | { |
348 | if ((iop_num >= NUM_IOPS) || !iop_base[iop_num]) return -EINVAL; | 348 | if ((iop_num >= NUM_IOPS) || !iop_base[iop_num]) return -EINVAL; |
@@ -407,7 +407,7 @@ static void iop_do_send(struct iop_msg *msg) | |||
407 | * has gone into the IOP_MSG_COMPLETE state. | 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 | volatile struct mac_iop *iop = iop_base[iop_num]; | 412 | volatile struct mac_iop *iop = iop_base[iop_num]; |
413 | struct iop_msg *msg,*msg2; | 413 | struct iop_msg *msg,*msg2; |
@@ -426,7 +426,7 @@ static void iop_handle_send(uint iop_num, uint chan, struct pt_regs *regs) | |||
426 | for (i = 0 ; i < IOP_MSG_LEN ; i++, offset++) { | 426 | for (i = 0 ; i < IOP_MSG_LEN ; i++, offset++) { |
427 | msg->reply[i] = iop_readb(iop, offset); | 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 | msg2 = msg; | 430 | msg2 = msg; |
431 | msg = msg->next; | 431 | msg = msg->next; |
432 | iop_free_msg(msg2); | 432 | iop_free_msg(msg2); |
@@ -440,7 +440,7 @@ static void iop_handle_send(uint iop_num, uint chan, struct pt_regs *regs) | |||
440 | * gone into the IOP_MSG_NEW state. | 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 | volatile struct mac_iop *iop = iop_base[iop_num]; | 445 | volatile struct mac_iop *iop = iop_base[iop_num]; |
446 | int i,offset; | 446 | int i,offset; |
@@ -468,7 +468,7 @@ static void iop_handle_recv(uint iop_num, uint chan, struct pt_regs *regs) | |||
468 | /* the message ourselves to avoid possible stalls. */ | 468 | /* the message ourselves to avoid possible stalls. */ |
469 | 469 | ||
470 | if (msg->handler) { | 470 | if (msg->handler) { |
471 | (*msg->handler)(msg, regs); | 471 | (*msg->handler)(msg); |
472 | } else { | 472 | } else { |
473 | #ifdef DEBUG_IOP | 473 | #ifdef DEBUG_IOP |
474 | printk("iop_handle_recv: unclaimed message on iop %d channel %d\n", iop_num, chan); | 474 | printk("iop_handle_recv: unclaimed message on iop %d channel %d\n", iop_num, chan); |
@@ -492,7 +492,7 @@ static void iop_handle_recv(uint iop_num, uint chan, struct pt_regs *regs) | |||
492 | 492 | ||
493 | int iop_send_message(uint iop_num, uint chan, void *privdata, | 493 | int iop_send_message(uint iop_num, uint chan, void *privdata, |
494 | uint msg_len, __u8 *msg_data, | 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 | struct iop_msg *msg, *q; | 497 | struct iop_msg *msg, *q; |
498 | 498 | ||
@@ -584,7 +584,7 @@ __u8 *iop_compare_code(uint iop_num, __u8 *code_start, | |||
584 | * Handle an ISM IOP interrupt | 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 | uint iop_num = (uint) dev_id; | 589 | uint iop_num = (uint) dev_id; |
590 | volatile struct mac_iop *iop = iop_base[iop_num]; | 590 | volatile struct mac_iop *iop = iop_base[iop_num]; |
@@ -608,7 +608,7 @@ irqreturn_t iop_ism_irq(int irq, void *dev_id, struct pt_regs *regs) | |||
608 | printk(" %02X", state); | 608 | printk(" %02X", state); |
609 | #endif | 609 | #endif |
610 | if (state == IOP_MSG_COMPLETE) { | 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 | #ifdef DEBUG_IOP | 614 | #ifdef DEBUG_IOP |
@@ -628,7 +628,7 @@ irqreturn_t iop_ism_irq(int irq, void *dev_id, struct pt_regs *regs) | |||
628 | printk(" %02X", state); | 628 | printk(" %02X", state); |
629 | #endif | 629 | #endif |
630 | if (state == IOP_MSG_NEW) { | 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 | #ifdef DEBUG_IOP | 634 | #ifdef DEBUG_IOP |
diff --git a/arch/m68k/mac/macints.c b/arch/m68k/mac/macints.c index 694b14bb0de1..f6fcd754d8f6 100644 --- a/arch/m68k/mac/macints.c +++ b/arch/m68k/mac/macints.c | |||
@@ -133,6 +133,7 @@ | |||
133 | #include <asm/hwtest.h> | 133 | #include <asm/hwtest.h> |
134 | #include <asm/errno.h> | 134 | #include <asm/errno.h> |
135 | #include <asm/macints.h> | 135 | #include <asm/macints.h> |
136 | #include <asm/irq_regs.h> | ||
136 | 137 | ||
137 | #define DEBUG_SPURIOUS | 138 | #define DEBUG_SPURIOUS |
138 | #define SHUTUP_SONIC | 139 | #define SHUTUP_SONIC |
@@ -208,8 +209,8 @@ static void scc_irq_disable(unsigned int); | |||
208 | * console_loglevel determines NMI handler function | 209 | * console_loglevel determines NMI handler function |
209 | */ | 210 | */ |
210 | 211 | ||
211 | irqreturn_t mac_nmi_handler(int, void *, struct pt_regs *); | 212 | irqreturn_t mac_nmi_handler(int, void *); |
212 | irqreturn_t mac_debug_handler(int, void *, struct pt_regs *); | 213 | irqreturn_t mac_debug_handler(int, void *); |
213 | 214 | ||
214 | /* #define DEBUG_MACINTS */ | 215 | /* #define DEBUG_MACINTS */ |
215 | 216 | ||
@@ -393,7 +394,7 @@ int mac_irq_pending(unsigned int irq) | |||
393 | 394 | ||
394 | static int num_debug[8]; | 395 | static int num_debug[8]; |
395 | 396 | ||
396 | irqreturn_t mac_debug_handler(int irq, void *dev_id, struct pt_regs *regs) | 397 | irqreturn_t mac_debug_handler(int irq, void *dev_id) |
397 | { | 398 | { |
398 | if (num_debug[irq] < 10) { | 399 | if (num_debug[irq] < 10) { |
399 | printk("DEBUG: Unexpected IRQ %d\n", irq); | 400 | printk("DEBUG: Unexpected IRQ %d\n", irq); |
@@ -405,7 +406,7 @@ irqreturn_t mac_debug_handler(int irq, void *dev_id, struct pt_regs *regs) | |||
405 | static int in_nmi; | 406 | static int in_nmi; |
406 | static volatile int nmi_hold; | 407 | static volatile int nmi_hold; |
407 | 408 | ||
408 | irqreturn_t mac_nmi_handler(int irq, void *dev_id, struct pt_regs *fp) | 409 | irqreturn_t mac_nmi_handler(int irq, void *dev_id) |
409 | { | 410 | { |
410 | int i; | 411 | int i; |
411 | /* | 412 | /* |
@@ -432,6 +433,7 @@ irqreturn_t mac_nmi_handler(int irq, void *dev_id, struct pt_regs *fp) | |||
432 | 433 | ||
433 | if (console_loglevel >= 8) { | 434 | if (console_loglevel >= 8) { |
434 | #if 0 | 435 | #if 0 |
436 | struct pt_regs *fp = get_irq_regs(); | ||
435 | show_state(); | 437 | show_state(); |
436 | printk("PC: %08lx\nSR: %04x SP: %p\n", fp->pc, fp->sr, fp); | 438 | printk("PC: %08lx\nSR: %04x SP: %p\n", fp->pc, fp->sr, fp); |
437 | printk("d0: %08lx d1: %08lx d2: %08lx d3: %08lx\n", | 439 | printk("d0: %08lx d1: %08lx d2: %08lx d3: %08lx\n", |
@@ -479,7 +481,7 @@ static void scc_irq_disable(unsigned int irq) | |||
479 | * here is cleaner than hacking it into drivers/char/macserial.c. | 481 | * here is cleaner than hacking it into drivers/char/macserial.c. |
480 | */ | 482 | */ |
481 | 483 | ||
482 | void mac_scc_dispatch(int irq, void *dev_id, struct pt_regs *regs) | 484 | void mac_scc_dispatch(int irq, void *dev_id) |
483 | { | 485 | { |
484 | volatile unsigned char *scc = (unsigned char *) mac_bi_data.sccbase + 2; | 486 | volatile unsigned char *scc = (unsigned char *) mac_bi_data.sccbase + 2; |
485 | unsigned char reg; | 487 | unsigned char reg; |
@@ -504,7 +506,7 @@ void mac_scc_dispatch(int irq, void *dev_id, struct pt_regs *regs) | |||
504 | /* pretty much kill the system. */ | 506 | /* pretty much kill the system. */ |
505 | 507 | ||
506 | if (reg & 0x38) | 508 | if (reg & 0x38) |
507 | m68k_handle_int(IRQ_SCCA, regs); | 509 | m68k_handle_int(IRQ_SCCA); |
508 | if (reg & 0x07) | 510 | if (reg & 0x07) |
509 | m68k_handle_int(IRQ_SCCB, regs); | 511 | m68k_handle_int(IRQ_SCCB); |
510 | } | 512 | } |
diff --git a/arch/m68k/mac/oss.c b/arch/m68k/mac/oss.c index 63e04365191f..63690819565a 100644 --- a/arch/m68k/mac/oss.c +++ b/arch/m68k/mac/oss.c | |||
@@ -30,11 +30,11 @@ | |||
30 | int oss_present; | 30 | int oss_present; |
31 | volatile struct mac_oss *oss; | 31 | volatile struct mac_oss *oss; |
32 | 32 | ||
33 | irqreturn_t oss_irq(int, void *, struct pt_regs *); | 33 | irqreturn_t oss_irq(int, void *); |
34 | irqreturn_t oss_nubus_irq(int, void *, struct pt_regs *); | 34 | irqreturn_t oss_nubus_irq(int, void *); |
35 | 35 | ||
36 | extern irqreturn_t via1_irq(int, void *, struct pt_regs *); | 36 | extern irqreturn_t via1_irq(int, void *); |
37 | extern irqreturn_t mac_scc_dispatch(int, void *, struct pt_regs *); | 37 | extern irqreturn_t mac_scc_dispatch(int, void *); |
38 | 38 | ||
39 | /* | 39 | /* |
40 | * Initialize the OSS | 40 | * Initialize the OSS |
@@ -92,7 +92,7 @@ void __init oss_nubus_init(void) | |||
92 | * and SCSI; everything else is routed to its own autovector IRQ. | 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 | int events; | 97 | int events; |
98 | 98 | ||
@@ -113,7 +113,7 @@ irqreturn_t oss_irq(int irq, void *dev_id, struct pt_regs *regs) | |||
113 | oss->irq_pending &= ~OSS_IP_SOUND; | 113 | oss->irq_pending &= ~OSS_IP_SOUND; |
114 | } else if (events & OSS_IP_SCSI) { | 114 | } else if (events & OSS_IP_SCSI) { |
115 | oss->irq_level[OSS_SCSI] = OSS_IRQLEV_DISABLED; | 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 | oss->irq_pending &= ~OSS_IP_SCSI; | 117 | oss->irq_pending &= ~OSS_IP_SCSI; |
118 | oss->irq_level[OSS_SCSI] = OSS_IRQLEV_SCSI; | 118 | oss->irq_level[OSS_SCSI] = OSS_IRQLEV_SCSI; |
119 | } else { | 119 | } else { |
@@ -128,7 +128,7 @@ irqreturn_t oss_irq(int irq, void *dev_id, struct pt_regs *regs) | |||
128 | * Unlike the VIA/RBV this is on its own autovector interrupt level. | 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 | int events, irq_bit, i; | 133 | int events, irq_bit, i; |
134 | 134 | ||
@@ -146,7 +146,7 @@ irqreturn_t oss_nubus_irq(int irq, void *dev_id, struct pt_regs *regs) | |||
146 | for (i = 0, irq_bit = 1 ; i < 6 ; i++, irq_bit <<= 1) { | 146 | for (i = 0, irq_bit = 1 ; i < 6 ; i++, irq_bit <<= 1) { |
147 | if (events & irq_bit) { | 147 | if (events & irq_bit) { |
148 | oss->irq_level[i] = OSS_IRQLEV_DISABLED; | 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 | oss->irq_pending &= ~irq_bit; | 150 | oss->irq_pending &= ~irq_bit; |
151 | oss->irq_level[i] = OSS_IRQLEV_NUBUS; | 151 | oss->irq_level[i] = OSS_IRQLEV_NUBUS; |
152 | } | 152 | } |
diff --git a/arch/m68k/mac/psc.c b/arch/m68k/mac/psc.c index e26218091755..15378a5878c9 100644 --- a/arch/m68k/mac/psc.c +++ b/arch/m68k/mac/psc.c | |||
@@ -30,7 +30,7 @@ | |||
30 | int psc_present; | 30 | int psc_present; |
31 | volatile __u8 *psc; | 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 | * Debugging dump, used in various places to see what's going on. | 36 | * Debugging dump, used in various places to see what's going on. |
@@ -127,7 +127,7 @@ void __init psc_register_interrupts(void) | |||
127 | * PSC interrupt handler. It's a lot like the VIA interrupt handler. | 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 | int pIFR = pIFRbase + ((int) dev_id); | 132 | int pIFR = pIFRbase + ((int) dev_id); |
133 | int pIER = pIERbase + ((int) dev_id); | 133 | int pIER = pIERbase + ((int) dev_id); |
@@ -149,7 +149,7 @@ irqreturn_t psc_irq(int irq, void *dev_id, struct pt_regs *regs) | |||
149 | for (i = 0, irq_bit = 1 ; i < 4 ; i++, irq_bit <<= 1) { | 149 | for (i = 0, irq_bit = 1 ; i < 4 ; i++, irq_bit <<= 1) { |
150 | if (events & irq_bit) { | 150 | if (events & irq_bit) { |
151 | psc_write_byte(pIER, irq_bit); | 151 | psc_write_byte(pIER, irq_bit); |
152 | m68k_handle_int(base_irq + i, regs); | 152 | m68k_handle_int(base_irq + i); |
153 | psc_write_byte(pIFR, irq_bit); | 153 | psc_write_byte(pIFR, irq_bit); |
154 | psc_write_byte(pIER, irq_bit | 0x80); | 154 | psc_write_byte(pIER, irq_bit | 0x80); |
155 | } | 155 | } |
diff --git a/arch/m68k/mac/via.c b/arch/m68k/mac/via.c index c4aa345d544e..9b6c80c4bbe2 100644 --- a/arch/m68k/mac/via.c +++ b/arch/m68k/mac/via.c | |||
@@ -63,14 +63,14 @@ static int gIER,gIFR,gBufA,gBufB; | |||
63 | static int nubus_active; | 63 | static int nubus_active; |
64 | 64 | ||
65 | void via_debug_dump(void); | 65 | void via_debug_dump(void); |
66 | irqreturn_t via1_irq(int, void *, struct pt_regs *); | 66 | irqreturn_t via1_irq(int, void *); |
67 | irqreturn_t via2_irq(int, void *, struct pt_regs *); | 67 | irqreturn_t via2_irq(int, void *); |
68 | irqreturn_t via_nubus_irq(int, void *, struct pt_regs *); | 68 | irqreturn_t via_nubus_irq(int, void *); |
69 | void via_irq_enable(int irq); | 69 | void via_irq_enable(int irq); |
70 | void via_irq_disable(int irq); | 70 | void via_irq_disable(int irq); |
71 | void via_irq_clear(int irq); | 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 | extern int oss_present; | 74 | extern int oss_present; |
75 | 75 | ||
76 | /* | 76 | /* |
@@ -235,7 +235,7 @@ void __init via_init(void) | |||
235 | * Start the 100 Hz clock | 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 | via1[vACR] |= 0x40; | 240 | via1[vACR] |= 0x40; |
241 | via1[vT1LL] = MAC_CLOCK_LOW; | 241 | via1[vT1LL] = MAC_CLOCK_LOW; |
@@ -412,7 +412,7 @@ void __init via_nubus_init(void) | |||
412 | * the machspec interrupt number after clearing the interrupt. | 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 | int irq_bit, i; | 417 | int irq_bit, i; |
418 | unsigned char events, mask; | 418 | unsigned char events, mask; |
@@ -424,7 +424,7 @@ irqreturn_t via1_irq(int irq, void *dev_id, struct pt_regs *regs) | |||
424 | for (i = 0, irq_bit = 1 ; i < 7 ; i++, irq_bit <<= 1) | 424 | for (i = 0, irq_bit = 1 ; i < 7 ; i++, irq_bit <<= 1) |
425 | if (events & irq_bit) { | 425 | if (events & irq_bit) { |
426 | via1[vIER] = irq_bit; | 426 | via1[vIER] = irq_bit; |
427 | m68k_handle_int(VIA1_SOURCE_BASE + i, regs); | 427 | m68k_handle_int(VIA1_SOURCE_BASE + i); |
428 | via1[vIFR] = irq_bit; | 428 | via1[vIFR] = irq_bit; |
429 | via1[vIER] = irq_bit | 0x80; | 429 | via1[vIER] = irq_bit | 0x80; |
430 | } | 430 | } |
@@ -439,14 +439,14 @@ irqreturn_t via1_irq(int irq, void *dev_id, struct pt_regs *regs) | |||
439 | /* No, it won't be set. that's why we're doing this. */ | 439 | /* No, it won't be set. that's why we're doing this. */ |
440 | via_irq_disable(IRQ_MAC_NUBUS); | 440 | via_irq_disable(IRQ_MAC_NUBUS); |
441 | via_irq_clear(IRQ_MAC_NUBUS); | 441 | via_irq_clear(IRQ_MAC_NUBUS); |
442 | m68k_handle_int(IRQ_MAC_NUBUS, regs); | 442 | m68k_handle_int(IRQ_MAC_NUBUS); |
443 | via_irq_enable(IRQ_MAC_NUBUS); | 443 | via_irq_enable(IRQ_MAC_NUBUS); |
444 | } | 444 | } |
445 | #endif | 445 | #endif |
446 | return IRQ_HANDLED; | 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 | int irq_bit, i; | 451 | int irq_bit, i; |
452 | unsigned char events, mask; | 452 | unsigned char events, mask; |
@@ -459,7 +459,7 @@ irqreturn_t via2_irq(int irq, void *dev_id, struct pt_regs *regs) | |||
459 | if (events & irq_bit) { | 459 | if (events & irq_bit) { |
460 | via2[gIER] = irq_bit; | 460 | via2[gIER] = irq_bit; |
461 | via2[gIFR] = irq_bit | rbv_clear; | 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 | via2[gIER] = irq_bit | 0x80; | 463 | via2[gIER] = irq_bit | 0x80; |
464 | } | 464 | } |
465 | return IRQ_HANDLED; | 465 | return IRQ_HANDLED; |
@@ -470,7 +470,7 @@ irqreturn_t via2_irq(int irq, void *dev_id, struct pt_regs *regs) | |||
470 | * VIA2 dispatcher as a fast interrupt handler. | 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 | int irq_bit, i; | 475 | int irq_bit, i; |
476 | unsigned char events; | 476 | unsigned char events; |
@@ -481,7 +481,7 @@ irqreturn_t via_nubus_irq(int irq, void *dev_id, struct pt_regs *regs) | |||
481 | for (i = 0, irq_bit = 1 ; i < 7 ; i++, irq_bit <<= 1) { | 481 | for (i = 0, irq_bit = 1 ; i < 7 ; i++, irq_bit <<= 1) { |
482 | if (events & irq_bit) { | 482 | if (events & irq_bit) { |
483 | via_irq_disable(NUBUS_SOURCE_BASE + i); | 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 | via_irq_enable(NUBUS_SOURCE_BASE + i); | 485 | via_irq_enable(NUBUS_SOURCE_BASE + i); |
486 | } | 486 | } |
487 | } | 487 | } |