aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Ellerman <michael@ellerman.id.au>2005-09-23 15:01:49 +1000
committerStephen Rothwell <sfr@canb.auug.org.au>2005-09-23 15:01:49 +1000
commit47db360328582000a7a46390cfa385b8df07b44f (patch)
treeb6f57ac073945c7630a881173006e51f3f42a88f
parent3ab42407fe0628c7880b21eff057566390865319 (diff)
ppc64 iSeries: Move setup of systemcfg->platform into iSeries device tree
Add /chosen/linux,platform to the device tree so we can remove iSeries specific code in setup_system() to set systemcfg->platform. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
-rw-r--r--arch/ppc64/kernel/iSeries_setup.c5
-rw-r--r--arch/ppc64/kernel/setup.c9
2 files changed, 5 insertions, 9 deletions
diff --git a/arch/ppc64/kernel/iSeries_setup.c b/arch/ppc64/kernel/iSeries_setup.c
index 639f400d6b0..4895f674a4b 100644
--- a/arch/ppc64/kernel/iSeries_setup.c
+++ b/arch/ppc64/kernel/iSeries_setup.c
@@ -1052,6 +1052,11 @@ void build_flat_dt(struct iseries_flat_dt *dt)
dt_prop_u64_list(dt, "reg", tmp, 2);
dt_end_node(dt);
+ /* /chosen */
+ dt_start_node(dt, "chosen");
+ dt_prop_u32(dt, "linux,platform", PLATFORM_ISERIES_LPAR);
+ dt_end_node(dt);
+
dt_end_node(dt);
dt_push_u32(dt, OF_DT_END);
diff --git a/arch/ppc64/kernel/setup.c b/arch/ppc64/kernel/setup.c
index 6c1cd3bab28..776b55b45e1 100644
--- a/arch/ppc64/kernel/setup.c
+++ b/arch/ppc64/kernel/setup.c
@@ -543,14 +543,6 @@ void __init setup_system(void)
{
DBG(" -> setup_system()\n");
-#ifdef CONFIG_PPC_ISERIES
- /* pSeries systems are identified in prom.c via OF. */
- if (itLpNaca.xLparInstalled == 1)
- systemcfg->platform = PLATFORM_ISERIES_LPAR;
-
- ppc_md.init_early();
-#else /* CONFIG_PPC_ISERIES */
-
/*
* Unflatten the device-tree passed by prom_init or kexec
*/
@@ -608,7 +600,6 @@ void __init setup_system(void)
strlcpy(saved_command_line, cmd_line, COMMAND_LINE_SIZE);
parse_early_param();
-#endif /* !CONFIG_PPC_ISERIES */
#ifdef CONFIG_SMP
/*