Browse Source

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>
Michael Ellerman 20 years ago
parent
commit
47db360328
2 changed files with 5 additions and 9 deletions
  1. 5 0
      arch/ppc64/kernel/iSeries_setup.c
  2. 0 9
      arch/ppc64/kernel/setup.c

+ 5 - 0
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);

+ 0 - 9
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
 	/*