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/iop.c | |
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/iop.c')
-rw-r--r-- | arch/m68k/mac/iop.c | 22 |
1 files changed, 11 insertions, 11 deletions
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 |