summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2013-07-16 20:09:59 -0700
committerTom Rini <trini@ti.com>2013-07-17 10:37:11 -0400
commit576aacdb915242dc60977049528b546fbe6135cc (patch)
tree79303d0d4206b5879cbc70b0a0909ead7da59874
parentc3e0afca4837e688d8e3dca273a9e0ded3599a63 (diff)
bootm: Move fixup_silent_linux() earlier in the bootm stages
Before the bootm refactor, fixup_silent_linux() was done only in the monolithic bootm case, not in the subcommand case. With the refactor, it is done always, which is good. Unfortunately it is done too late, since it is the PREP or CMDLINE stages that set up the command line for Linux. Move fixup_silent_linux() into the LOADOS stage, which is where we find out the OS being used, and can thus decide whether to perform this step. Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--common/cmd_bootm.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index c18157cd4c2..c0eabd259e8 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -542,10 +542,6 @@ static int boot_selected_os(int argc, char * const argv[], int state,
bootm_start_standalone(argc, argv);
return 0;
}
-#ifdef CONFIG_SILENT_CONSOLE
- if (images->os.os == IH_OS_LINUX)
- fixup_silent_linux();
-#endif
arch_preboot_os();
boot_fn(state, argc, argv, images);
if (state == BOOTM_STATE_OS_FAKE_GO) /* We expect to return */
@@ -656,6 +652,10 @@ static int do_bootm_states(cmd_tbl_t *cmdtp, int flag, int argc,
goto err;
else if (ret == BOOTM_ERR_OVERLAP)
ret = 0;
+#ifdef CONFIG_SILENT_CONSOLE
+ if (images->os.os == IH_OS_LINUX)
+ fixup_silent_linux();
+#endif
}
/* Relocate the ramdisk */