bootcount: Rewrite autoboot to use wrapper functions from bootcount.h
authorLukasz Majewski <lukma@denx.de>
Wed, 2 May 2018 14:10:53 +0000 (16:10 +0200)
committerTom Rini <trini@konsulko.com>
Fri, 11 May 2018 00:38:25 +0000 (20:38 -0400)
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>
common/autoboot.c

index 9b9fb534f0877530010a91e171f16407af7cc935..94133eaeda782eeccbc0ac63a8581552dc7893c3 100644 (file)
@@ -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);