aboutsummaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2021-10-21 21:08:52 -0600
committerTom Rini <trini@konsulko.com>2021-11-16 14:35:09 -0500
commit78398652723b6fe743751ffb19d8256b7e3e0a4e (patch)
tree9e86d3aeaf5e46cd0e23bbb8bfc0e6e5406617e0 /cmd
parent1d192d5bccc6e4b9e7112f720ccc47786694ee39 (diff)
downloadu-boot-78398652723b6fe743751ffb19d8256b7e3e0a4e.zip
u-boot-78398652723b6fe743751ffb19d8256b7e3e0a4e.tar.gz
u-boot-78398652723b6fe743751ffb19d8256b7e3e0a4e.tar.bz2
bootm: Tidy up use of autostart env varWIP/2021-11-16-env-rework
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.c4
-rw-r--r--cmd/elf.c3
2 files changed, 2 insertions, 5 deletions
diff --git a/cmd/bootm.c b/cmd/bootm.c
index 92468d0..b82a872 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;
diff --git a/cmd/elf.c b/cmd/elf.c
index d75b214..2b33c50 100644
--- a/cmd/elf.c
+++ b/cmd/elf.c
@@ -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);