aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k/mac
diff options
context:
space:
mode:
Diffstat (limited to 'arch/m68k/mac')
-rw-r--r--arch/m68k/mac/baboon.c6
-rw-r--r--arch/m68k/mac/config.c4
-rw-r--r--arch/m68k/mac/iop.c22
-rw-r--r--arch/m68k/mac/macints.c16
-rw-r--r--arch/m68k/mac/oss.c16
-rw-r--r--arch/m68k/mac/psc.c6
-rw-r--r--arch/m68k/mac/via.c24
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 @@
25int baboon_present,baboon_active; 25int baboon_present,baboon_active;
26volatile struct baboon *baboon; 26volatile struct baboon *baboon;
27 27
28irqreturn_t baboon_irq(int, void *, struct pt_regs *); 28irqreturn_t baboon_irq(int, void *);
29 29
30#if 0 30#if 0
31extern int macide_ack_intr(struct ata_channel *); 31extern 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
67irqreturn_t baboon_irq(int irq, void *dev_id, struct pt_regs *regs) 67irqreturn_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 *);
72extern void iop_preinit(void); 72extern void iop_preinit(void);
73extern void iop_init(void); 73extern void iop_init(void);
74extern void via_init(void); 74extern void via_init(void);
75extern void via_init_clock(irqreturn_t (*func)(int, void *, struct pt_regs *)); 75extern void via_init_clock(irqreturn_t (*func)(int, void *));
76extern void via_flush_cache(void); 76extern void via_flush_cache(void);
77extern void oss_init(void); 77extern void oss_init(void);
78extern void psc_init(void); 78extern void psc_init(void);
@@ -88,7 +88,7 @@ extern void mac_debugging_long(int, long);
88 88
89static void mac_get_model(char *str); 89static void mac_get_model(char *str);
90 90
91static void mac_sched_init(irqreturn_t (*vector)(int, void *, struct pt_regs *)) 91static 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
133struct listener { 133struct 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];
152static struct iop_msg *iop_send_queue[NUM_IOPS][NUM_IOP_CHAN]; 152static struct iop_msg *iop_send_queue[NUM_IOPS][NUM_IOP_CHAN];
153static struct listener iop_listeners[NUM_IOPS][NUM_IOP_CHAN]; 153static struct listener iop_listeners[NUM_IOPS][NUM_IOP_CHAN];
154 154
155irqreturn_t iop_ism_irq(int, void *, struct pt_regs *); 155irqreturn_t iop_ism_irq(int, void *);
156 156
157extern void oss_irq_enable(int); 157extern void oss_irq_enable(int);
158 158
@@ -342,7 +342,7 @@ void __init iop_register_interrupts(void)
342 */ 342 */
343 343
344int iop_listen(uint iop_num, uint chan, 344int 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
410static void iop_handle_send(uint iop_num, uint chan, struct pt_regs *regs) 410static 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
443static void iop_handle_recv(uint iop_num, uint chan, struct pt_regs *regs) 443static 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
493int iop_send_message(uint iop_num, uint chan, void *privdata, 493int 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
587irqreturn_t iop_ism_irq(int irq, void *dev_id, struct pt_regs *regs) 587irqreturn_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
211irqreturn_t mac_nmi_handler(int, void *, struct pt_regs *); 212irqreturn_t mac_nmi_handler(int, void *);
212irqreturn_t mac_debug_handler(int, void *, struct pt_regs *); 213irqreturn_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
394static int num_debug[8]; 395static int num_debug[8];
395 396
396irqreturn_t mac_debug_handler(int irq, void *dev_id, struct pt_regs *regs) 397irqreturn_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)
405static int in_nmi; 406static int in_nmi;
406static volatile int nmi_hold; 407static volatile int nmi_hold;
407 408
408irqreturn_t mac_nmi_handler(int irq, void *dev_id, struct pt_regs *fp) 409irqreturn_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
482void mac_scc_dispatch(int irq, void *dev_id, struct pt_regs *regs) 484void 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 @@
30int oss_present; 30int oss_present;
31volatile struct mac_oss *oss; 31volatile struct mac_oss *oss;
32 32
33irqreturn_t oss_irq(int, void *, struct pt_regs *); 33irqreturn_t oss_irq(int, void *);
34irqreturn_t oss_nubus_irq(int, void *, struct pt_regs *); 34irqreturn_t oss_nubus_irq(int, void *);
35 35
36extern irqreturn_t via1_irq(int, void *, struct pt_regs *); 36extern irqreturn_t via1_irq(int, void *);
37extern irqreturn_t mac_scc_dispatch(int, void *, struct pt_regs *); 37extern 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
95irqreturn_t oss_irq(int irq, void *dev_id, struct pt_regs *regs) 95irqreturn_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
131irqreturn_t oss_nubus_irq(int irq, void *dev_id, struct pt_regs *regs) 131irqreturn_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 @@
30int psc_present; 30int psc_present;
31volatile __u8 *psc; 31volatile __u8 *psc;
32 32
33irqreturn_t psc_irq(int, void *, struct pt_regs *); 33irqreturn_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
130irqreturn_t psc_irq(int irq, void *dev_id, struct pt_regs *regs) 130irqreturn_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;
63static int nubus_active; 63static int nubus_active;
64 64
65void via_debug_dump(void); 65void via_debug_dump(void);
66irqreturn_t via1_irq(int, void *, struct pt_regs *); 66irqreturn_t via1_irq(int, void *);
67irqreturn_t via2_irq(int, void *, struct pt_regs *); 67irqreturn_t via2_irq(int, void *);
68irqreturn_t via_nubus_irq(int, void *, struct pt_regs *); 68irqreturn_t via_nubus_irq(int, void *);
69void via_irq_enable(int irq); 69void via_irq_enable(int irq);
70void via_irq_disable(int irq); 70void via_irq_disable(int irq);
71void via_irq_clear(int irq); 71void via_irq_clear(int irq);
72 72
73extern irqreturn_t mac_scc_dispatch(int, void *, struct pt_regs *); 73extern irqreturn_t mac_scc_dispatch(int, void *);
74extern int oss_present; 74extern 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
238void __init via_init_clock(irqreturn_t (*func)(int, void *, struct pt_regs *)) 238void __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
415irqreturn_t via1_irq(int irq, void *dev_id, struct pt_regs *regs) 415irqreturn_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
449irqreturn_t via2_irq(int irq, void *dev_id, struct pt_regs *regs) 449irqreturn_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
473irqreturn_t via_nubus_irq(int irq, void *dev_id, struct pt_regs *regs) 473irqreturn_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 }