From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Kiernan Date: Tue, 08 May 2018 05:23:56 +0000 Subject: [U-Boot] [PATCH v5 4/7] bootcount: Rewrite autoboot to use wrapper functions from bootcount.h In-Reply-To: <20180502141056.23937-5-lukma@denx.de> References: <20180502141056.23937-1-lukma@denx.de> <20180502141056.23937-5-lukma@denx.de> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Wed, May 2, 2018 at 3:11 PM Lukasz Majewski wrote: > The code has been refactored to use common wrappers from bootcount.h > header. > Signed-off-by: Lukasz Majewski > Reviewed-by: Stefan Roese > Reviewed-by: Tom Rini Reviewed-by: Alex Kiernan > --- > Changes in v5: > - None > Changes in v4: > - Use global data pointer (gd_t *) instead of bootcount specific enum > 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..a0f7822c9e 100644 > --- a/common/autoboot.c > +++ b/common/autoboot.c > @@ -14,6 +14,7 @@ > #include > #include > #include > +#include > 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(); > 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()) > s = env_get("altbootcmd"); > - } else > -#endif /* CONFIG_BOOTCOUNT_LIMIT */ > + else > s = env_get("bootcmd"); > process_fdt_options(gd->fdt_blob); > -- > 2.11.0 -- Alex Kiernan