diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2006-10-05 23:55:26 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-10-06 20:10:30 -0400 |
commit | 1224f373c974eacc46fe5e1073422c794d0b0d34 (patch) | |
tree | 6808d01c6ebc123ecc525b6b3ade50ca201bafbf | |
parent | 27db2d0cb9b56210dc1e29bc89a7413f3ae67b91 (diff) |
[POWERPC] Fix iseries/smp.c for irq breakage
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r-- | arch/powerpc/platforms/iseries/irq.c | 7 | ||||
-rw-r--r-- | arch/powerpc/platforms/iseries/smp.c | 6 | ||||
-rw-r--r-- | arch/powerpc/platforms/iseries/smp.h | 6 |
3 files changed, 12 insertions, 7 deletions
diff --git a/arch/powerpc/platforms/iseries/irq.c b/arch/powerpc/platforms/iseries/irq.c index e32446877e78..44c245672dd8 100644 --- a/arch/powerpc/platforms/iseries/irq.c +++ b/arch/powerpc/platforms/iseries/irq.c | |||
@@ -43,10 +43,7 @@ | |||
43 | #include "irq.h" | 43 | #include "irq.h" |
44 | #include "pci.h" | 44 | #include "pci.h" |
45 | #include "call_pci.h" | 45 | #include "call_pci.h" |
46 | 46 | #include "smp.h" | |
47 | #if defined(CONFIG_SMP) | ||
48 | extern void iSeries_smp_message_recv(struct pt_regs *); | ||
49 | #endif | ||
50 | 47 | ||
51 | #ifdef CONFIG_PCI | 48 | #ifdef CONFIG_PCI |
52 | 49 | ||
@@ -315,7 +312,7 @@ unsigned int iSeries_get_irq(struct pt_regs *regs) | |||
315 | #ifdef CONFIG_SMP | 312 | #ifdef CONFIG_SMP |
316 | if (get_lppaca()->int_dword.fields.ipi_cnt) { | 313 | if (get_lppaca()->int_dword.fields.ipi_cnt) { |
317 | get_lppaca()->int_dword.fields.ipi_cnt = 0; | 314 | get_lppaca()->int_dword.fields.ipi_cnt = 0; |
318 | iSeries_smp_message_recv(regs); | 315 | iSeries_smp_message_recv(); |
319 | } | 316 | } |
320 | #endif /* CONFIG_SMP */ | 317 | #endif /* CONFIG_SMP */ |
321 | if (hvlpevent_is_pending()) | 318 | if (hvlpevent_is_pending()) |
diff --git a/arch/powerpc/platforms/iseries/smp.c b/arch/powerpc/platforms/iseries/smp.c index 2eb095edb472..aee5908df700 100644 --- a/arch/powerpc/platforms/iseries/smp.c +++ b/arch/powerpc/platforms/iseries/smp.c | |||
@@ -43,9 +43,11 @@ | |||
43 | #include <asm/cputable.h> | 43 | #include <asm/cputable.h> |
44 | #include <asm/system.h> | 44 | #include <asm/system.h> |
45 | 45 | ||
46 | #include "smp.h" | ||
47 | |||
46 | static unsigned long iSeries_smp_message[NR_CPUS]; | 48 | static unsigned long iSeries_smp_message[NR_CPUS]; |
47 | 49 | ||
48 | void iSeries_smp_message_recv(struct pt_regs *regs) | 50 | void iSeries_smp_message_recv(void) |
49 | { | 51 | { |
50 | int cpu = smp_processor_id(); | 52 | int cpu = smp_processor_id(); |
51 | int msg; | 53 | int msg; |
@@ -55,7 +57,7 @@ void iSeries_smp_message_recv(struct pt_regs *regs) | |||
55 | 57 | ||
56 | for (msg = 0; msg < 4; msg++) | 58 | for (msg = 0; msg < 4; msg++) |
57 | if (test_and_clear_bit(msg, &iSeries_smp_message[cpu])) | 59 | if (test_and_clear_bit(msg, &iSeries_smp_message[cpu])) |
58 | smp_message_recv(msg, regs); | 60 | smp_message_recv(msg); |
59 | } | 61 | } |
60 | 62 | ||
61 | static inline void smp_iSeries_do_message(int cpu, int msg) | 63 | static inline void smp_iSeries_do_message(int cpu, int msg) |
diff --git a/arch/powerpc/platforms/iseries/smp.h b/arch/powerpc/platforms/iseries/smp.h new file mode 100644 index 000000000000..d501f7de01e7 --- /dev/null +++ b/arch/powerpc/platforms/iseries/smp.h | |||
@@ -0,0 +1,6 @@ | |||
1 | #ifndef _PLATFORMS_ISERIES_SMP_H | ||
2 | #define _PLATFORMS_ISERIES_SMP_H | ||
3 | |||
4 | extern void iSeries_smp_message_recv(void); | ||
5 | |||
6 | #endif /* _PLATFORMS_ISERIES_SMP_H */ | ||