git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git]
/
arch
/
powerpc
/
platforms
/
pseries
/
smp.c
diff --git
a/arch/powerpc/platforms/pseries/smp.c
b/arch/powerpc/platforms/pseries/smp.c
index
ac61098
..
3cf78a6
100644
(file)
--- a/
arch/powerpc/platforms/pseries/smp.c
+++ b/
arch/powerpc/platforms/pseries/smp.c
@@
-14,6
+14,7
@@
#undef DEBUG
#undef DEBUG
+#include <linux/config.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/sched.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/sched.h>
@@
-416,12
+417,27
@@
static struct smp_ops_t pSeries_xics_smp_ops = {
#endif
/* This is called very early */
#endif
/* This is called very early */
-
static void __init smp_init_ps
eries(void)
+
void __init smp_init_pS
eries(void)
{
int i;
DBG(" -> smp_init_pSeries()\n");
{
int i;
DBG(" -> smp_init_pSeries()\n");
+ switch (ppc64_interrupt_controller) {
+#ifdef CONFIG_MPIC
+ case IC_OPEN_PIC:
+ smp_ops = &pSeries_mpic_smp_ops;
+ break;
+#endif
+#ifdef CONFIG_XICS
+ case IC_PPC_XIC:
+ smp_ops = &pSeries_xics_smp_ops;
+ break;
+#endif
+ default:
+ panic("Invalid interrupt controller");
+ }
+
#ifdef CONFIG_HOTPLUG_CPU
smp_ops->cpu_disable = pSeries_cpu_disable;
smp_ops->cpu_die = pSeries_cpu_die;
#ifdef CONFIG_HOTPLUG_CPU
smp_ops->cpu_disable = pSeries_cpu_disable;
smp_ops->cpu_die = pSeries_cpu_die;
@@
-456,18
+472,3
@@
static void __init smp_init_pseries(void)
DBG(" <- smp_init_pSeries()\n");
}
DBG(" <- smp_init_pSeries()\n");
}
-#ifdef CONFIG_MPIC
-void __init smp_init_pseries_mpic(void)
-{
- smp_ops = &pSeries_mpic_smp_ops;
-
- smp_init_pseries();
-}
-#endif
-
-void __init smp_init_pseries_xics(void)
-{
- smp_ops = &pSeries_xics_smp_ops;
-
- smp_init_pseries();
-}