diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2006-10-09 07:48:42 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-10-09 21:55:25 -0400 |
commit | 39e3eb7265b8698e5f607a317af13c9478274736 (patch) | |
tree | 927b34392c7d74b38d52749c2311f6dfe7285851 /arch/ppc/platforms | |
parent | 8de242e60a441f177dd51b323894b17d3d63e9f2 (diff) |
[POWERPC] ARCH=ppc pt_regs fixes
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/ppc/platforms')
-rw-r--r-- | arch/ppc/platforms/apus_setup.c | 2 | ||||
-rw-r--r-- | arch/ppc/platforms/hdpu.c | 22 | ||||
-rw-r--r-- | arch/ppc/platforms/radstone_ppc7d.c | 10 | ||||
-rw-r--r-- | arch/ppc/platforms/sbc82xx.c | 4 |
4 files changed, 18 insertions, 20 deletions
diff --git a/arch/ppc/platforms/apus_setup.c b/arch/ppc/platforms/apus_setup.c index 1d034ead2c9a..063274d2c503 100644 --- a/arch/ppc/platforms/apus_setup.c +++ b/arch/ppc/platforms/apus_setup.c | |||
@@ -492,7 +492,7 @@ apus_halt(void) | |||
492 | 492 | ||
493 | static unsigned char last_ipl[8]; | 493 | static unsigned char last_ipl[8]; |
494 | 494 | ||
495 | int apus_get_irq(struct pt_regs* regs) | 495 | int apus_get_irq(void) |
496 | { | 496 | { |
497 | unsigned char ipl_emu, mask; | 497 | unsigned char ipl_emu, mask; |
498 | unsigned int level; | 498 | unsigned int level; |
diff --git a/arch/ppc/platforms/hdpu.c b/arch/ppc/platforms/hdpu.c index e0f112a1fd0b..d809e17aa536 100644 --- a/arch/ppc/platforms/hdpu.c +++ b/arch/ppc/platforms/hdpu.c | |||
@@ -659,8 +659,7 @@ static void __init hdpu_map_io(void) | |||
659 | char hdpu_smp0[] = "SMP Cpu #0"; | 659 | char hdpu_smp0[] = "SMP Cpu #0"; |
660 | char hdpu_smp1[] = "SMP Cpu #1"; | 660 | char hdpu_smp1[] = "SMP Cpu #1"; |
661 | 661 | ||
662 | static irqreturn_t hdpu_smp_cpu0_int_handler(int irq, void *dev_id, | 662 | static irqreturn_t hdpu_smp_cpu0_int_handler(int irq, void *dev_id) |
663 | struct pt_regs *regs) | ||
664 | { | 663 | { |
665 | volatile unsigned int doorbell; | 664 | volatile unsigned int doorbell; |
666 | 665 | ||
@@ -670,22 +669,21 @@ static irqreturn_t hdpu_smp_cpu0_int_handler(int irq, void *dev_id, | |||
670 | mv64x60_write(&bh, MV64360_CPU0_DOORBELL_CLR, doorbell); | 669 | mv64x60_write(&bh, MV64360_CPU0_DOORBELL_CLR, doorbell); |
671 | 670 | ||
672 | if (doorbell & 1) { | 671 | if (doorbell & 1) { |
673 | smp_message_recv(0, regs); | 672 | smp_message_recv(0); |
674 | } | 673 | } |
675 | if (doorbell & 2) { | 674 | if (doorbell & 2) { |
676 | smp_message_recv(1, regs); | 675 | smp_message_recv(1); |
677 | } | 676 | } |
678 | if (doorbell & 4) { | 677 | if (doorbell & 4) { |
679 | smp_message_recv(2, regs); | 678 | smp_message_recv(2); |
680 | } | 679 | } |
681 | if (doorbell & 8) { | 680 | if (doorbell & 8) { |
682 | smp_message_recv(3, regs); | 681 | smp_message_recv(3); |
683 | } | 682 | } |
684 | return IRQ_HANDLED; | 683 | return IRQ_HANDLED; |
685 | } | 684 | } |
686 | 685 | ||
687 | static irqreturn_t hdpu_smp_cpu1_int_handler(int irq, void *dev_id, | 686 | static irqreturn_t hdpu_smp_cpu1_int_handler(int irq, void *dev_id) |
688 | struct pt_regs *regs) | ||
689 | { | 687 | { |
690 | volatile unsigned int doorbell; | 688 | volatile unsigned int doorbell; |
691 | 689 | ||
@@ -695,16 +693,16 @@ static irqreturn_t hdpu_smp_cpu1_int_handler(int irq, void *dev_id, | |||
695 | mv64x60_write(&bh, MV64360_CPU1_DOORBELL_CLR, doorbell); | 693 | mv64x60_write(&bh, MV64360_CPU1_DOORBELL_CLR, doorbell); |
696 | 694 | ||
697 | if (doorbell & 1) { | 695 | if (doorbell & 1) { |
698 | smp_message_recv(0, regs); | 696 | smp_message_recv(0); |
699 | } | 697 | } |
700 | if (doorbell & 2) { | 698 | if (doorbell & 2) { |
701 | smp_message_recv(1, regs); | 699 | smp_message_recv(1); |
702 | } | 700 | } |
703 | if (doorbell & 4) { | 701 | if (doorbell & 4) { |
704 | smp_message_recv(2, regs); | 702 | smp_message_recv(2); |
705 | } | 703 | } |
706 | if (doorbell & 8) { | 704 | if (doorbell & 8) { |
707 | smp_message_recv(3, regs); | 705 | smp_message_recv(3); |
708 | } | 706 | } |
709 | return IRQ_HANDLED; | 707 | return IRQ_HANDLED; |
710 | } | 708 | } |
diff --git a/arch/ppc/platforms/radstone_ppc7d.c b/arch/ppc/platforms/radstone_ppc7d.c index 3bb530af0297..13d70ab50bf1 100644 --- a/arch/ppc/platforms/radstone_ppc7d.c +++ b/arch/ppc/platforms/radstone_ppc7d.c | |||
@@ -451,11 +451,11 @@ static void __init ppc7d_calibrate_decr(void) | |||
451 | * Interrupt stuff | 451 | * Interrupt stuff |
452 | *****************************************************************************/ | 452 | *****************************************************************************/ |
453 | 453 | ||
454 | static irqreturn_t ppc7d_i8259_intr(int irq, void *dev_id, struct pt_regs *regs) | 454 | static irqreturn_t ppc7d_i8259_intr(int irq, void *dev_id) |
455 | { | 455 | { |
456 | u32 temp = mv64x60_read(&bh, MV64x60_GPP_INTR_CAUSE); | 456 | u32 temp = mv64x60_read(&bh, MV64x60_GPP_INTR_CAUSE); |
457 | if (temp & (1 << 28)) { | 457 | if (temp & (1 << 28)) { |
458 | i8259_irq(regs); | 458 | i8259_irq(); |
459 | mv64x60_write(&bh, MV64x60_GPP_INTR_CAUSE, temp & (~(1 << 28))); | 459 | mv64x60_write(&bh, MV64x60_GPP_INTR_CAUSE, temp & (~(1 << 28))); |
460 | return IRQ_HANDLED; | 460 | return IRQ_HANDLED; |
461 | } | 461 | } |
@@ -536,13 +536,13 @@ static u32 ppc7d_irq_canonicalize(u32 irq) | |||
536 | return irq; | 536 | return irq; |
537 | } | 537 | } |
538 | 538 | ||
539 | static int ppc7d_get_irq(struct pt_regs *regs) | 539 | static int ppc7d_get_irq(void) |
540 | { | 540 | { |
541 | int irq; | 541 | int irq; |
542 | 542 | ||
543 | irq = mv64360_get_irq(regs); | 543 | irq = mv64360_get_irq(); |
544 | if (irq == (mv64360_irq_base + MV64x60_IRQ_GPP28)) | 544 | if (irq == (mv64360_irq_base + MV64x60_IRQ_GPP28)) |
545 | irq = i8259_irq(regs); | 545 | irq = i8259_irq(); |
546 | return irq; | 546 | return irq; |
547 | } | 547 | } |
548 | 548 | ||
diff --git a/arch/ppc/platforms/sbc82xx.c b/arch/ppc/platforms/sbc82xx.c index 60b769c7f3fc..cc0935ccab7a 100644 --- a/arch/ppc/platforms/sbc82xx.c +++ b/arch/ppc/platforms/sbc82xx.c | |||
@@ -121,7 +121,7 @@ struct hw_interrupt_type sbc82xx_i8259_ic = { | |||
121 | .end = sbc82xx_i8259_end_irq, | 121 | .end = sbc82xx_i8259_end_irq, |
122 | }; | 122 | }; |
123 | 123 | ||
124 | static irqreturn_t sbc82xx_i8259_demux(int irq, void *dev_id, struct pt_regs *regs) | 124 | static irqreturn_t sbc82xx_i8259_demux(int irq, void *dev_id) |
125 | { | 125 | { |
126 | spin_lock(&sbc82xx_i8259_lock); | 126 | spin_lock(&sbc82xx_i8259_lock); |
127 | 127 | ||
@@ -139,7 +139,7 @@ static irqreturn_t sbc82xx_i8259_demux(int irq, void *dev_id, struct pt_regs *re | |||
139 | return IRQ_HANDLED; | 139 | return IRQ_HANDLED; |
140 | } | 140 | } |
141 | } | 141 | } |
142 | __do_IRQ(NR_SIU_INTS + irq, regs); | 142 | __do_IRQ(NR_SIU_INTS + irq); |
143 | return IRQ_HANDLED; | 143 | return IRQ_HANDLED; |
144 | } | 144 | } |
145 | 145 | ||