ppc64 iSeries: Move setup of systemcfg->platform into iSeries device tree
authorMichael Ellerman <michael@ellerman.id.au>
Fri, 23 Sep 2005 05:01:49 +0000 (15:01 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Fri, 23 Sep 2005 05:01:49 +0000 (15:01 +1000)
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>
arch/ppc64/kernel/iSeries_setup.c
arch/ppc64/kernel/setup.c

index 639f400d6b0cc86eb724332f44aee8340b80c2d3..4895f674a4ba945ea31a4f53ad27e4137370367d 100644 (file)
@@ -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);
index 6c1cd3bab28e83729fe484f56f8dc51ebc511ae2..776b55b45e1b6cad54c77bb1b8d36fa287688b39 100644 (file)
@@ -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
        /*