diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2006-10-07 14:44:33 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2006-10-07 21:38:28 -0400 |
commit | 937a801576f954bd030d7c4a5a94571710d87c0b (patch) | |
tree | 48d3440f765b56cf32a89b4b8193dd033d8227a8 /arch/mips/sibyte | |
parent | 31aa36658a123263a9a69896e348b9600e050679 (diff) |
[MIPS] Complete fixes after removal of pt_regs argument to int handlers.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/sibyte')
-rw-r--r-- | arch/mips/sibyte/bcm1480/irq.c | 27 | ||||
-rw-r--r-- | arch/mips/sibyte/bcm1480/smp.c | 2 | ||||
-rw-r--r-- | arch/mips/sibyte/bcm1480/time.c | 8 | ||||
-rw-r--r-- | arch/mips/sibyte/sb1250/irq.c | 28 | ||||
-rw-r--r-- | arch/mips/sibyte/sb1250/smp.c | 2 | ||||
-rw-r--r-- | arch/mips/sibyte/sb1250/time.c | 6 |
6 files changed, 35 insertions, 38 deletions
diff --git a/arch/mips/sibyte/bcm1480/irq.c b/arch/mips/sibyte/bcm1480/irq.c index a46b75b23ecb..0c00f676b8b3 100644 --- a/arch/mips/sibyte/bcm1480/irq.c +++ b/arch/mips/sibyte/bcm1480/irq.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <linux/kernel_stat.h> | 25 | #include <linux/kernel_stat.h> |
26 | 26 | ||
27 | #include <asm/errno.h> | 27 | #include <asm/errno.h> |
28 | #include <asm/irq_regs.h> | ||
28 | #include <asm/signal.h> | 29 | #include <asm/signal.h> |
29 | #include <asm/system.h> | 30 | #include <asm/system.h> |
30 | #include <asm/ptrace.h> | 31 | #include <asm/ptrace.h> |
@@ -284,8 +285,7 @@ void __init init_bcm1480_irqs(void) | |||
284 | } | 285 | } |
285 | 286 | ||
286 | 287 | ||
287 | static irqreturn_t bcm1480_dummy_handler(int irq, void *dev_id, | 288 | static irqreturn_t bcm1480_dummy_handler(int irq, void *dev_id) |
288 | struct pt_regs *regs) | ||
289 | { | 289 | { |
290 | return IRQ_NONE; | 290 | return IRQ_NONE; |
291 | } | 291 | } |
@@ -453,7 +453,7 @@ void __init arch_init_irq(void) | |||
453 | #define duart_out(reg, val) csr_out32(val, IOADDR(A_DUART_CHANREG(kgdb_port,reg))) | 453 | #define duart_out(reg, val) csr_out32(val, IOADDR(A_DUART_CHANREG(kgdb_port,reg))) |
454 | #define duart_in(reg) csr_in32(IOADDR(A_DUART_CHANREG(kgdb_port,reg))) | 454 | #define duart_in(reg) csr_in32(IOADDR(A_DUART_CHANREG(kgdb_port,reg))) |
455 | 455 | ||
456 | void bcm1480_kgdb_interrupt(struct pt_regs *regs) | 456 | static void bcm1480_kgdb_interrupt(void) |
457 | { | 457 | { |
458 | /* | 458 | /* |
459 | * Clear break-change status (allow some time for the remote | 459 | * Clear break-change status (allow some time for the remote |
@@ -464,16 +464,15 @@ void bcm1480_kgdb_interrupt(struct pt_regs *regs) | |||
464 | mdelay(500); | 464 | mdelay(500); |
465 | duart_out(R_DUART_CMD, V_DUART_MISC_CMD_RESET_BREAK_INT | | 465 | duart_out(R_DUART_CMD, V_DUART_MISC_CMD_RESET_BREAK_INT | |
466 | M_DUART_RX_EN | M_DUART_TX_EN); | 466 | M_DUART_RX_EN | M_DUART_TX_EN); |
467 | set_async_breakpoint(®s->cp0_epc); | 467 | set_async_breakpoint(&get_irq_regs()->cp0_epc); |
468 | } | 468 | } |
469 | 469 | ||
470 | #endif /* CONFIG_KGDB */ | 470 | #endif /* CONFIG_KGDB */ |
471 | 471 | ||
472 | extern void bcm1480_timer_interrupt(struct pt_regs *regs); | 472 | extern void bcm1480_timer_interrupt(void); |
473 | extern void bcm1480_mailbox_interrupt(struct pt_regs *regs); | 473 | extern void bcm1480_mailbox_interrupt(void); |
474 | extern void bcm1480_kgdb_interrupt(struct pt_regs *regs); | ||
475 | 474 | ||
476 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | 475 | asmlinkage void plat_irq_dispatch(void) |
477 | { | 476 | { |
478 | unsigned int pending; | 477 | unsigned int pending; |
479 | 478 | ||
@@ -486,21 +485,21 @@ asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | |||
486 | 485 | ||
487 | #ifdef CONFIG_SIBYTE_BCM1480_PROF | 486 | #ifdef CONFIG_SIBYTE_BCM1480_PROF |
488 | if (pending & CAUSEF_IP7) /* Cpu performance counter interrupt */ | 487 | if (pending & CAUSEF_IP7) /* Cpu performance counter interrupt */ |
489 | sbprof_cpu_intr(exception_epc(regs)); | 488 | sbprof_cpu_intr(); |
490 | else | 489 | else |
491 | #endif | 490 | #endif |
492 | 491 | ||
493 | if (pending & CAUSEF_IP4) | 492 | if (pending & CAUSEF_IP4) |
494 | bcm1480_timer_interrupt(regs); | 493 | bcm1480_timer_interrupt(); |
495 | 494 | ||
496 | #ifdef CONFIG_SMP | 495 | #ifdef CONFIG_SMP |
497 | else if (pending & CAUSEF_IP3) | 496 | else if (pending & CAUSEF_IP3) |
498 | bcm1480_mailbox_interrupt(regs); | 497 | bcm1480_mailbox_interrupt(); |
499 | #endif | 498 | #endif |
500 | 499 | ||
501 | #ifdef CONFIG_KGDB | 500 | #ifdef CONFIG_KGDB |
502 | else if (pending & CAUSEF_IP6) | 501 | else if (pending & CAUSEF_IP6) |
503 | bcm1480_kgdb_interrupt(regs); /* KGDB (uart 1) */ | 502 | bcm1480_kgdb_interrupt(); /* KGDB (uart 1) */ |
504 | #endif | 503 | #endif |
505 | 504 | ||
506 | else if (pending & CAUSEF_IP2) { | 505 | else if (pending & CAUSEF_IP2) { |
@@ -521,9 +520,9 @@ asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | |||
521 | 520 | ||
522 | if (mask_h) { | 521 | if (mask_h) { |
523 | if (mask_h ^ 1) | 522 | if (mask_h ^ 1) |
524 | do_IRQ(fls64(mask_h) - 1, regs); | 523 | do_IRQ(fls64(mask_h) - 1); |
525 | else | 524 | else |
526 | do_IRQ(63 + fls64(mask_l), regs); | 525 | do_IRQ(63 + fls64(mask_l)); |
527 | } | 526 | } |
528 | } | 527 | } |
529 | } | 528 | } |
diff --git a/arch/mips/sibyte/bcm1480/smp.c b/arch/mips/sibyte/bcm1480/smp.c index 584a4b33faac..6eac36d1b8c8 100644 --- a/arch/mips/sibyte/bcm1480/smp.c +++ b/arch/mips/sibyte/bcm1480/smp.c | |||
@@ -88,7 +88,7 @@ void core_send_ipi(int cpu, unsigned int action) | |||
88 | __raw_writeq((((u64)action)<< 48), mailbox_0_set_regs[cpu]); | 88 | __raw_writeq((((u64)action)<< 48), mailbox_0_set_regs[cpu]); |
89 | } | 89 | } |
90 | 90 | ||
91 | void bcm1480_mailbox_interrupt(struct pt_regs *regs) | 91 | void bcm1480_mailbox_interrupt(void) |
92 | { | 92 | { |
93 | int cpu = smp_processor_id(); | 93 | int cpu = smp_processor_id(); |
94 | unsigned int action; | 94 | unsigned int action; |
diff --git a/arch/mips/sibyte/bcm1480/time.c b/arch/mips/sibyte/bcm1480/time.c index 7e088f6c4a86..f228f711dc34 100644 --- a/arch/mips/sibyte/bcm1480/time.c +++ b/arch/mips/sibyte/bcm1480/time.c | |||
@@ -100,10 +100,10 @@ void bcm1480_time_init(void) | |||
100 | 100 | ||
101 | #include <asm/sibyte/sb1250.h> | 101 | #include <asm/sibyte/sb1250.h> |
102 | 102 | ||
103 | void bcm1480_timer_interrupt(struct pt_regs *regs) | 103 | void bcm1480_timer_interrupt(void) |
104 | { | 104 | { |
105 | int cpu = smp_processor_id(); | 105 | int cpu = smp_processor_id(); |
106 | int irq = K_BCM1480_INT_TIMER_0+cpu; | 106 | int irq = K_BCM1480_INT_TIMER_0 + cpu; |
107 | 107 | ||
108 | /* Reset the timer */ | 108 | /* Reset the timer */ |
109 | __raw_writeq(M_SCD_TIMER_ENABLE|M_SCD_TIMER_MODE_CONTINUOUS, | 109 | __raw_writeq(M_SCD_TIMER_ENABLE|M_SCD_TIMER_MODE_CONTINUOUS, |
@@ -113,13 +113,13 @@ void bcm1480_timer_interrupt(struct pt_regs *regs) | |||
113 | /* | 113 | /* |
114 | * CPU 0 handles the global timer interrupt job | 114 | * CPU 0 handles the global timer interrupt job |
115 | */ | 115 | */ |
116 | ll_timer_interrupt(irq, regs); | 116 | ll_timer_interrupt(irq); |
117 | } | 117 | } |
118 | else { | 118 | else { |
119 | /* | 119 | /* |
120 | * other CPUs should just do profiling and process accounting | 120 | * other CPUs should just do profiling and process accounting |
121 | */ | 121 | */ |
122 | ll_local_timer_interrupt(irq, regs); | 122 | ll_local_timer_interrupt(irq); |
123 | } | 123 | } |
124 | } | 124 | } |
125 | 125 | ||
diff --git a/arch/mips/sibyte/sb1250/irq.c b/arch/mips/sibyte/sb1250/irq.c index f9bd9f074517..f6d2e19592ea 100644 --- a/arch/mips/sibyte/sb1250/irq.c +++ b/arch/mips/sibyte/sb1250/irq.c | |||
@@ -254,8 +254,7 @@ void __init init_sb1250_irqs(void) | |||
254 | } | 254 | } |
255 | 255 | ||
256 | 256 | ||
257 | static irqreturn_t sb1250_dummy_handler(int irq, void *dev_id, | 257 | static irqreturn_t sb1250_dummy_handler(int irq, void *dev_id) |
258 | struct pt_regs *regs) | ||
259 | { | 258 | { |
260 | return IRQ_NONE; | 259 | return IRQ_NONE; |
261 | } | 260 | } |
@@ -403,7 +402,7 @@ void __init arch_init_irq(void) | |||
403 | #define duart_out(reg, val) csr_out32(val, IOADDR(A_DUART_CHANREG(kgdb_port,reg))) | 402 | #define duart_out(reg, val) csr_out32(val, IOADDR(A_DUART_CHANREG(kgdb_port,reg))) |
404 | #define duart_in(reg) csr_in32(IOADDR(A_DUART_CHANREG(kgdb_port,reg))) | 403 | #define duart_in(reg) csr_in32(IOADDR(A_DUART_CHANREG(kgdb_port,reg))) |
405 | 404 | ||
406 | static void sb1250_kgdb_interrupt(struct pt_regs *regs) | 405 | static void sb1250_kgdb_interrupt(void) |
407 | { | 406 | { |
408 | /* | 407 | /* |
409 | * Clear break-change status (allow some time for the remote | 408 | * Clear break-change status (allow some time for the remote |
@@ -414,16 +413,15 @@ static void sb1250_kgdb_interrupt(struct pt_regs *regs) | |||
414 | mdelay(500); | 413 | mdelay(500); |
415 | duart_out(R_DUART_CMD, V_DUART_MISC_CMD_RESET_BREAK_INT | | 414 | duart_out(R_DUART_CMD, V_DUART_MISC_CMD_RESET_BREAK_INT | |
416 | M_DUART_RX_EN | M_DUART_TX_EN); | 415 | M_DUART_RX_EN | M_DUART_TX_EN); |
417 | set_async_breakpoint(®s->cp0_epc); | 416 | set_async_breakpoint(&get_irq_regs()->cp0_epc); |
418 | } | 417 | } |
419 | 418 | ||
420 | #endif /* CONFIG_KGDB */ | 419 | #endif /* CONFIG_KGDB */ |
421 | 420 | ||
422 | extern void sb1250_timer_interrupt(struct pt_regs *regs); | 421 | extern void sb1250_timer_interrupt(void); |
423 | extern void sb1250_mailbox_interrupt(struct pt_regs *regs); | 422 | extern void sb1250_mailbox_interrupt(void); |
424 | extern void sb1250_kgdb_interrupt(struct pt_regs *regs); | ||
425 | 423 | ||
426 | asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | 424 | asmlinkage void plat_irq_dispatch(void) |
427 | { | 425 | { |
428 | unsigned int pending; | 426 | unsigned int pending; |
429 | 427 | ||
@@ -446,21 +444,21 @@ asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | |||
446 | 444 | ||
447 | #ifdef CONFIG_SIBYTE_SB1250_PROF | 445 | #ifdef CONFIG_SIBYTE_SB1250_PROF |
448 | if (pending & CAUSEF_IP7) /* Cpu performance counter interrupt */ | 446 | if (pending & CAUSEF_IP7) /* Cpu performance counter interrupt */ |
449 | sbprof_cpu_intr(exception_epc(regs)); | 447 | sbprof_cpu_intr(); |
450 | else | 448 | else |
451 | #endif | 449 | #endif |
452 | 450 | ||
453 | if (pending & CAUSEF_IP4) | 451 | if (pending & CAUSEF_IP4) |
454 | sb1250_timer_interrupt(regs); | 452 | sb1250_timer_interrupt(); |
455 | 453 | ||
456 | #ifdef CONFIG_SMP | 454 | #ifdef CONFIG_SMP |
457 | else if (pending & CAUSEF_IP3) | 455 | else if (pending & CAUSEF_IP3) |
458 | sb1250_mailbox_interrupt(regs); | 456 | sb1250_mailbox_interrupt(); |
459 | #endif | 457 | #endif |
460 | 458 | ||
461 | #ifdef CONFIG_KGDB | 459 | #ifdef CONFIG_KGDB |
462 | else if (pending & CAUSEF_IP6) /* KGDB (uart 1) */ | 460 | else if (pending & CAUSEF_IP6) /* KGDB (uart 1) */ |
463 | sb1250_kgdb_interrupt(regs); | 461 | sb1250_kgdb_interrupt(); |
464 | #endif | 462 | #endif |
465 | 463 | ||
466 | else if (pending & CAUSEF_IP2) { | 464 | else if (pending & CAUSEF_IP2) { |
@@ -475,9 +473,9 @@ asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | |||
475 | mask = __raw_readq(IOADDR(A_IMR_REGISTER(smp_processor_id(), | 473 | mask = __raw_readq(IOADDR(A_IMR_REGISTER(smp_processor_id(), |
476 | R_IMR_INTERRUPT_STATUS_BASE))); | 474 | R_IMR_INTERRUPT_STATUS_BASE))); |
477 | if (mask) | 475 | if (mask) |
478 | do_IRQ(fls64(mask) - 1, regs); | 476 | do_IRQ(fls64(mask) - 1); |
479 | else | 477 | else |
480 | spurious_interrupt(regs); | 478 | spurious_interrupt(); |
481 | } else | 479 | } else |
482 | spurious_interrupt(regs); | 480 | spurious_interrupt(); |
483 | } | 481 | } |
diff --git a/arch/mips/sibyte/sb1250/smp.c b/arch/mips/sibyte/sb1250/smp.c index f859db02d3c9..c38e1f34460d 100644 --- a/arch/mips/sibyte/sb1250/smp.c +++ b/arch/mips/sibyte/sb1250/smp.c | |||
@@ -76,7 +76,7 @@ void core_send_ipi(int cpu, unsigned int action) | |||
76 | __raw_writeq((((u64)action) << 48), mailbox_set_regs[cpu]); | 76 | __raw_writeq((((u64)action) << 48), mailbox_set_regs[cpu]); |
77 | } | 77 | } |
78 | 78 | ||
79 | void sb1250_mailbox_interrupt(struct pt_regs *regs) | 79 | void sb1250_mailbox_interrupt(void) |
80 | { | 80 | { |
81 | int cpu = smp_processor_id(); | 81 | int cpu = smp_processor_id(); |
82 | unsigned int action; | 82 | unsigned int action; |
diff --git a/arch/mips/sibyte/sb1250/time.c b/arch/mips/sibyte/sb1250/time.c index 4b669dc86ef4..0d17aec03dd7 100644 --- a/arch/mips/sibyte/sb1250/time.c +++ b/arch/mips/sibyte/sb1250/time.c | |||
@@ -125,7 +125,7 @@ void sb1250_time_init(void) | |||
125 | */ | 125 | */ |
126 | } | 126 | } |
127 | 127 | ||
128 | void sb1250_timer_interrupt(struct pt_regs *regs) | 128 | void sb1250_timer_interrupt(void) |
129 | { | 129 | { |
130 | int cpu = smp_processor_id(); | 130 | int cpu = smp_processor_id(); |
131 | int irq = K_INT_TIMER_0 + cpu; | 131 | int irq = K_INT_TIMER_0 + cpu; |
@@ -138,13 +138,13 @@ void sb1250_timer_interrupt(struct pt_regs *regs) | |||
138 | /* | 138 | /* |
139 | * CPU 0 handles the global timer interrupt job | 139 | * CPU 0 handles the global timer interrupt job |
140 | */ | 140 | */ |
141 | ll_timer_interrupt(irq, regs); | 141 | ll_timer_interrupt(irq); |
142 | } | 142 | } |
143 | else { | 143 | else { |
144 | /* | 144 | /* |
145 | * other CPUs should just do profiling and process accounting | 145 | * other CPUs should just do profiling and process accounting |
146 | */ | 146 | */ |
147 | ll_local_timer_interrupt(irq, regs); | 147 | ll_local_timer_interrupt(irq); |
148 | } | 148 | } |
149 | } | 149 | } |
150 | 150 | ||