diff options
author | Simon Glass <sjg@chromium.org> | 2021-10-22 06:08:52 +0300 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2021-11-16 22:35:09 +0300 |
commit | 78398652723b6fe743751ffb19d8256b7e3e0a4e (patch) | |
tree | 9e86d3aeaf5e46cd0e23bbb8bfc0e6e5406617e0 /cmd | |
parent | 1d192d5bccc6e4b9e7112f720ccc47786694ee39 (diff) | |
download | u-boot-78398652723b6fe743751ffb19d8256b7e3e0a4e.tar.xz |
bootm: Tidy up use of autostart env var
This has different semantics in different places. Go with the bootm method
and put it in a common function so that the behaviour is consistent in
U-Boot. Update the docs.
To be clear, this changes the way that 'bootelf' and standalone boot
work. Before, if autostart was set to "fred" or "YES", for example, they
would consider that a "yes". This may change behaviour for some boards,
but the only in-tree boards which mention autostart use "no" to disable
it, which will still work.
Signed-off-by: Simon Glass <sjg@chromium.org>
Suggested-by: Wolfgang Denk <wd@denx.de>
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/bootm.c | 4 | ||||
-rw-r--r-- | cmd/elf.c | 3 |
2 files changed, 2 insertions, 5 deletions
diff --git a/cmd/bootm.c b/cmd/bootm.c index 92468d09a1..b82a872a86 100644 --- a/cmd/bootm.c +++ b/cmd/bootm.c @@ -140,9 +140,7 @@ int do_bootm(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) int bootm_maybe_autostart(struct cmd_tbl *cmdtp, const char *cmd) { - const char *ep = env_get("autostart"); - - if (ep && !strcmp(ep, "yes")) { + if (env_get_autostart()) { char *local_args[2]; local_args[0] = (char *)cmd; local_args[1] = NULL; @@ -41,7 +41,6 @@ int do_bootelf(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) unsigned long addr; /* Address of the ELF image */ unsigned long rc; /* Return value from user code */ char *sload = NULL; - const char *ep = env_get("autostart"); int rcode = 0; /* Consume 'bootelf' */ @@ -69,7 +68,7 @@ int do_bootelf(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) else addr = load_elf_image_shdr(addr); - if (ep && !strcmp(ep, "no")) + if (!env_get_autostart()) return rcode; printf("## Starting application at 0x%08lx ...\n", addr); |