diff options
author | Mike Frysinger <vapier@gentoo.org> | 2011-06-05 13:43:02 +0000 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2011-07-25 22:18:26 +0200 |
commit | 67d668bf926ae50a1196a8561ae5075fd69a8eb2 (patch) | |
tree | a5f7e905a55b5f32718a1d1ac7616e9eb995e9be /common/cmd_bootm.c | |
parent | 51f924e5ce4f69659ef385739f4604054d9b5bb7 (diff) |
autostart: unify duplicated logic into the bootm code
Rather than having a bunch of random commands handle autostart behavior,
unify the logic in a single place. This also fixes building of these
different commands when bootm is disabled.
Acked-by: Matthew McClintock <msm@freescale.com>
Acked-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'common/cmd_bootm.c')
-rw-r--r-- | common/cmd_bootm.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index 1966da48ca4..272d879bebc 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -708,6 +708,21 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) return 1; } +int bootm_maybe_autostart(cmd_tbl_t *cmdtp, const char *cmd) +{ + const char *ep = getenv("autostart"); + + if (ep && !strcmp(ep, "yes")) { + char *local_args[2]; + local_args[0] = (char *)cmd; + local_args[1] = NULL; + printf("Automatic boot of image at addr 0x%08lX ...\n", load_addr); + return do_bootm(cmdtp, 0, 1, local_args); + } + + return 0; +} + /** * image_get_kernel - verify legacy format kernel image * @img_addr: in RAM address of the legacy format image to be verified |