[U-Boot] [PATCH v3 4/7] bootcount: Rewrite autoboot to use wrapper functions from bootcount.h
Stefan Roese
sr at denx.de
Mon Apr 30 08:08:55 UTC 2018
Hi Lukasz,
On 29.04.2018 15:36, Lukasz Majewski wrote:
> The code has been refactored to use common wrappers from bootcount.h
> header.
>
> Signed-off-by: Lukasz Majewski <lukma at denx.de>
>
> ---
>
> Changes in v3:
> - New patch
>
> Changes in v2:
> - None
>
> common/autoboot.c | 23 +++++------------------
> 1 file changed, 5 insertions(+), 18 deletions(-)
>
> diff --git a/common/autoboot.c b/common/autoboot.c
> index 2eef7a04cc..bfe4bdcf50 100644
> --- a/common/autoboot.c
> +++ b/common/autoboot.c
> @@ -14,6 +14,7 @@
> #include <menu.h>
> #include <post.h>
> #include <u-boot/sha256.h>
> +#include <bootcount.h>
>
> DECLARE_GLOBAL_DATA_PTR;
>
> @@ -291,18 +292,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(UBOOT);
>
> s = env_get("bootdelay");
> bootdelay = s ? (int)simple_strtol(s, NULL, 10) : CONFIG_BOOTDELAY;
> @@ -324,13 +315,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(UBOOT))
> s = env_get("altbootcmd");
> - } else
> -#endif /* CONFIG_BOOTCOUNT_LIMIT */
> + else
> s = env_get("bootcmd");
>
> process_fdt_options(gd->fdt_blob);
Now that look much simpler / cleaner. Thanks for working on this.
Reviewed-by: Stefan Roese <sr at denx.de>
Thanks,
Stefan
More information about the U-Boot
mailing list