]> err.no Git - linux-2.6/commitdiff
[POWERPC] Fix iseries/smp.c for irq breakage
authorStephen Rothwell <sfr@canb.auug.org.au>
Fri, 6 Oct 2006 03:55:26 +0000 (13:55 +1000)
committerPaul Mackerras <paulus@samba.org>
Sat, 7 Oct 2006 00:10:30 +0000 (10:10 +1000)
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/platforms/iseries/irq.c
arch/powerpc/platforms/iseries/smp.c
arch/powerpc/platforms/iseries/smp.h [new file with mode: 0644]

index e32446877e78a2edc46e7e36d7da3574d220a084..44c245672dd80b8c6ea5c8189acef6658b363071 100644 (file)
 #include "irq.h"
 #include "pci.h"
 #include "call_pci.h"
-
-#if defined(CONFIG_SMP)
-extern void iSeries_smp_message_recv(struct pt_regs *);
-#endif
+#include "smp.h"
 
 #ifdef CONFIG_PCI
 
@@ -315,7 +312,7 @@ unsigned int iSeries_get_irq(struct pt_regs *regs)
 #ifdef CONFIG_SMP
        if (get_lppaca()->int_dword.fields.ipi_cnt) {
                get_lppaca()->int_dword.fields.ipi_cnt = 0;
-               iSeries_smp_message_recv(regs);
+               iSeries_smp_message_recv();
        }
 #endif /* CONFIG_SMP */
        if (hvlpevent_is_pending())
index 2eb095edb472c213f0cf8a2589a5424913572952..aee5908df7008aecfaa105c5e3b2db2a2b334da5 100644 (file)
 #include <asm/cputable.h>
 #include <asm/system.h>
 
+#include "smp.h"
+
 static unsigned long iSeries_smp_message[NR_CPUS];
 
-void iSeries_smp_message_recv(struct pt_regs *regs)
+void iSeries_smp_message_recv(void)
 {
        int cpu = smp_processor_id();
        int msg;
@@ -55,7 +57,7 @@ void iSeries_smp_message_recv(struct pt_regs *regs)
 
        for (msg = 0; msg < 4; msg++)
                if (test_and_clear_bit(msg, &iSeries_smp_message[cpu]))
-                       smp_message_recv(msg, regs);
+                       smp_message_recv(msg);
 }
 
 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 (file)
index 0000000..d501f7d
--- /dev/null
@@ -0,0 +1,6 @@
+#ifndef _PLATFORMS_ISERIES_SMP_H
+#define _PLATFORMS_ISERIES_SMP_H
+
+extern void iSeries_smp_message_recv(void);
+
+#endif /* _PLATFORMS_ISERIES_SMP_H */