bootcount: Rewrite autoboot to use wrapper functions from bootcount.h
The code has been refactored to use common wrappers from bootcount.h header. Signed-off-by: Lukasz Majewski <lukma@denx.de> Reviewed-by: Stefan Roese <sr@denx.de> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Alex Kiernan <alex.kiernan@gmail.com>
This commit is contained in:
parent
0da7041218
commit
bc8c440fa4
@ -13,6 +13,7 @@
|
||||
#include <menu.h>
|
||||
#include <post.h>
|
||||
#include <u-boot/sha256.h>
|
||||
#include <bootcount.h>
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
@ -290,18 +291,8 @@ const char *bootdelay_process(void)
|
||||
{
|
||||
char *s;
|
||||
int bootdelay;
|
||||
#ifdef CONFIG_BOOTCOUNT_LIMIT
|
||||
unsigned long bootcount = 0;
|
||||
unsigned long bootlimit = 0;
|
||||
#endif /* CONFIG_BOOTCOUNT_LIMIT */
|
||||
|
||||
#ifdef CONFIG_BOOTCOUNT_LIMIT
|
||||
bootcount = bootcount_load();
|
||||
bootcount++;
|
||||
bootcount_store(bootcount);
|
||||
env_set_ulong("bootcount", bootcount);
|
||||
bootlimit = env_get_ulong("bootlimit", 10, 0);
|
||||
#endif /* CONFIG_BOOTCOUNT_LIMIT */
|
||||
bootcount_inc();
|
||||
|
||||
s = env_get("bootdelay");
|
||||
bootdelay = s ? (int)simple_strtol(s, NULL, 10) : CONFIG_BOOTDELAY;
|
||||
@ -323,13 +314,9 @@ const char *bootdelay_process(void)
|
||||
s = env_get("failbootcmd");
|
||||
} else
|
||||
#endif /* CONFIG_POST */
|
||||
#ifdef CONFIG_BOOTCOUNT_LIMIT
|
||||
if (bootlimit && (bootcount > bootlimit)) {
|
||||
printf("Warning: Bootlimit (%u) exceeded. Using altbootcmd.\n",
|
||||
(unsigned)bootlimit);
|
||||
if (bootcount_error())
|
||||
s = env_get("altbootcmd");
|
||||
} else
|
||||
#endif /* CONFIG_BOOTCOUNT_LIMIT */
|
||||
else
|
||||
s = env_get("bootcmd");
|
||||
|
||||
process_fdt_options(gd->fdt_blob);
|
||||
|
Loading…
Reference in New Issue
Block a user