summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/hymod/hymod.c4
-rw-r--r--board/hymod/input.c8
-rw-r--r--common/autoboot.c6
-rw-r--r--common/bootretry.c4
-rw-r--r--common/cli_hush.c7
-rw-r--r--common/cli_simple.c4
-rw-r--r--common/cmd_i2c.c13
-rw-r--r--common/cmd_mem.c13
-rw-r--r--common/cmd_pci.c9
-rw-r--r--include/bootretry.h38
-rw-r--r--include/cli.h3
11 files changed, 52 insertions, 57 deletions
diff --git a/board/hymod/hymod.c b/board/hymod/hymod.c
index f6990e9..0183f78 100644
--- a/board/hymod/hymod.c
+++ b/board/hymod/hymod.c
@@ -415,13 +415,11 @@ last_stage_init (void)
hymod_conf_t *cp = &gd->bd->bi_hymod_conf;
int rc;
-#ifdef CONFIG_BOOT_RETRY_TIME
/*
* we use the cli_readline() function, but we also want
* command timeout enabled
*/
- init_cmd_timeout ();
-#endif
+ bootretry_init_cmd_timeout();
memset ((void *) cp, 0, sizeof (*cp));
diff --git a/board/hymod/input.c b/board/hymod/input.c
index 2f857c0..a9035d3 100644
--- a/board/hymod/input.c
+++ b/board/hymod/input.c
@@ -16,9 +16,7 @@ hymod_get_serno (const char *prompt)
int n, serno;
char *p;
-#ifdef CONFIG_BOOT_RETRY_TIME
- reset_cmd_timeout ();
-#endif
+ bootretry_reset_cmd_timeout();
n = cli_readline(prompt);
@@ -44,9 +42,7 @@ hymod_get_ethaddr (void)
for (;;) {
int n;
-#ifdef CONFIG_BOOT_RETRY_TIME
- reset_cmd_timeout ();
-#endif
+ bootretry_reset_cmd_timeout();
n = cli_readline("Enter board ethernet address: ");
diff --git a/common/autoboot.c b/common/autoboot.c
index 5f8d9c3..9843898 100644
--- a/common/autoboot.c
+++ b/common/autoboot.c
@@ -113,11 +113,9 @@ static int abortboot_keyed(int bootdelay)
delaykey[i].retry ? "delay" :
"stop");
-# ifdef CONFIG_BOOT_RETRY_TIME
/* don't retry auto boot */
if (!delaykey[i].retry)
bootretry_dont_retry();
-# endif
abort = 1;
}
}
@@ -305,9 +303,7 @@ void bootdelay_process(void)
#if defined(CONFIG_MENU_SHOW)
bootdelay = menu_show(bootdelay);
#endif
-# ifdef CONFIG_BOOT_RETRY_TIME
- init_cmd_timeout();
-# endif /* CONFIG_BOOT_RETRY_TIME */
+ bootretry_init_cmd_timeout();
#ifdef CONFIG_POST
if (gd->flags & GD_FLG_POSTFAIL) {
diff --git a/common/bootretry.c b/common/bootretry.c
index 12653c0..2d82798 100644
--- a/common/bootretry.c
+++ b/common/bootretry.c
@@ -21,7 +21,7 @@ static int retry_time = -1; /* -1 so can call readline before main_loop */
/***************************************************************************
* initialize command line timeout
*/
-void init_cmd_timeout(void)
+void bootretry_init_cmd_timeout(void)
{
char *s = getenv("bootretry");
@@ -37,7 +37,7 @@ void init_cmd_timeout(void)
/***************************************************************************
* reset command line timeout to retry_time seconds
*/
-void reset_cmd_timeout(void)
+void bootretry_reset_cmd_timeout(void)
{
endtime = endtick(retry_time);
}
diff --git a/common/cli_hush.c b/common/cli_hush.c
index d6544ae..0f069b0 100644
--- a/common/cli_hush.c
+++ b/common/cli_hush.c
@@ -1000,12 +1000,7 @@ static void get_user_input(struct in_str *i)
int n;
static char the_command[CONFIG_SYS_CBSIZE + 1];
-#ifdef CONFIG_BOOT_RETRY_TIME
-# ifndef CONFIG_RESET_TO_RETRY
-# error "This currently only works with CONFIG_RESET_TO_RETRY enabled"
-# endif
- reset_cmd_timeout();
-#endif
+ bootretry_reset_cmd_timeout();
i->__promptme = 1;
if (i->promptmode == 1) {
n = cli_readline(CONFIG_SYS_PROMPT);
diff --git a/common/cli_simple.c b/common/cli_simple.c
index 5b7e2ce..bba586e 100644
--- a/common/cli_simple.c
+++ b/common/cli_simple.c
@@ -265,14 +265,12 @@ void cli_loop(void)
int rc = 1;
for (;;) {
-#ifdef CONFIG_BOOT_RETRY_TIME
if (rc >= 0) {
/* Saw enough of a valid command to
* restart the timeout.
*/
- reset_cmd_timeout();
+ bootretry_reset_cmd_timeout();
}
-#endif
len = cli_readline(CONFIG_SYS_PROMPT);
flag = 0; /* assume no special flags for now */
diff --git a/common/cmd_i2c.c b/common/cmd_i2c.c
index 4fa1213..d714658 100644
--- a/common/cmd_i2c.c
+++ b/common/cmd_i2c.c
@@ -564,9 +564,7 @@ mod_i2c_mem(cmd_tbl_t *cmdtp, int incrflag, int flag, int argc, char * const arg
if (argc != 3)
return CMD_RET_USAGE;
-#ifdef CONFIG_BOOT_RETRY_TIME
- reset_cmd_timeout(); /* got a good command to get here */
-#endif
+ bootretry_reset_cmd_timeout(); /* got a good command to get here */
/*
* We use the last specified parameters, unless new ones are
* entered.
@@ -623,9 +621,8 @@ mod_i2c_mem(cmd_tbl_t *cmdtp, int incrflag, int flag, int argc, char * const arg
if (incrflag)
addr += size;
nbytes = size;
-#ifdef CONFIG_BOOT_RETRY_TIME
- reset_cmd_timeout(); /* good enough to not time out */
-#endif
+ /* good enough to not time out */
+ bootretry_reset_cmd_timeout();
}
#ifdef CONFIG_BOOT_RETRY_TIME
else if (nbytes == -2)
@@ -642,12 +639,10 @@ mod_i2c_mem(cmd_tbl_t *cmdtp, int incrflag, int flag, int argc, char * const arg
data = be32_to_cpu(data);
nbytes = endp - console_buffer;
if (nbytes) {
-#ifdef CONFIG_BOOT_RETRY_TIME
/*
* good enough to not time out
*/
- reset_cmd_timeout();
-#endif
+ bootretry_reset_cmd_timeout();
if (i2c_write(chip, addr, alen, (uchar *)&data, size) != 0)
puts ("Error writing the chip.\n");
#ifdef CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS
diff --git a/common/cmd_mem.c b/common/cmd_mem.c
index 9bd7c0e..1febddb 100644
--- a/common/cmd_mem.c
+++ b/common/cmd_mem.c
@@ -1098,9 +1098,7 @@ mod_mem(cmd_tbl_t *cmdtp, int incrflag, int flag, int argc, char * const argv[])
if (argc != 2)
return CMD_RET_USAGE;
-#ifdef CONFIG_BOOT_RETRY_TIME
- reset_cmd_timeout(); /* got a good command to get here */
-#endif
+ bootretry_reset_cmd_timeout(); /* got a good command to get here */
/* We use the last specified parameters, unless new ones are
* entered.
*/
@@ -1159,9 +1157,8 @@ mod_mem(cmd_tbl_t *cmdtp, int incrflag, int flag, int argc, char * const argv[])
if (incrflag)
addr += nbytes ? -size : size;
nbytes = 1;
-#ifdef CONFIG_BOOT_RETRY_TIME
- reset_cmd_timeout(); /* good enough to not time out */
-#endif
+ /* good enough to not time out */
+ bootretry_reset_cmd_timeout();
}
#ifdef CONFIG_BOOT_RETRY_TIME
else if (nbytes == -2) {
@@ -1177,11 +1174,9 @@ mod_mem(cmd_tbl_t *cmdtp, int incrflag, int flag, int argc, char * const argv[])
#endif
nbytes = endp - console_buffer;
if (nbytes) {
-#ifdef CONFIG_BOOT_RETRY_TIME
/* good enough to not time out
*/
- reset_cmd_timeout();
-#endif
+ bootretry_reset_cmd_timeout();
if (size == 4)
*((u32 *)ptr) = i;
#ifdef CONFIG_SYS_SUPPORT_64BIT_DATA
diff --git a/common/cmd_pci.c b/common/cmd_pci.c
index 180b35a..a1ba42e 100644
--- a/common/cmd_pci.c
+++ b/common/cmd_pci.c
@@ -355,9 +355,8 @@ pci_cfg_modify (pci_dev_t bdf, ulong addr, ulong size, ulong value, int incrflag
if (incrflag)
addr += nbytes ? -size : size;
nbytes = 1;
-#ifdef CONFIG_BOOT_RETRY_TIME
- reset_cmd_timeout(); /* good enough to not time out */
-#endif
+ /* good enough to not time out */
+ bootretry_reset_cmd_timeout();
}
#ifdef CONFIG_BOOT_RETRY_TIME
else if (nbytes == -2) {
@@ -369,11 +368,9 @@ pci_cfg_modify (pci_dev_t bdf, ulong addr, ulong size, ulong value, int incrflag
i = simple_strtoul(console_buffer, &endp, 16);
nbytes = endp - console_buffer;
if (nbytes) {
-#ifdef CONFIG_BOOT_RETRY_TIME
/* good enough to not time out
*/
- reset_cmd_timeout();
-#endif
+ bootretry_reset_cmd_timeout();
pci_cfg_write (bdf, addr, size, i);
if (incrflag)
addr += size;
diff --git a/include/bootretry.h b/include/bootretry.h
index 025c29d..2ecd7a4 100644
--- a/include/bootretry.h
+++ b/include/bootretry.h
@@ -5,8 +5,8 @@
* SPDX-License-Identifier: GPL-2.0+
*/
-#ifndef __bootretry_h
-#define __bootretry_h
+#ifndef __BOOTRETRY_H
+#define __BOOTRETRY_H
#ifdef CONFIG_BOOT_RETRY_TIME
/**
@@ -18,14 +18,42 @@
* @return 0 if a key is received in time, -ETIMEDOUT if not
*/
int bootretry_tstc_timeout(void);
+
+/**
+ * bootretry_init_cmd_timeout() - set up command timeout
+ *
+ * Get the required command timeout from the environment.
+ */
+void bootretry_init_cmd_timeout(void);
+
+/**
+ * bootretry_reset_cmd_timeout() - reset command timeout
+ *
+ * Reset the command timeout so that the user has a fresh start. This is
+ * typically used when input is received from the user.
+ */
+void bootretry_reset_cmd_timeout(void);
+
+/** bootretry_dont_retry() - Indicate that we should not retry the boot */
+void bootretry_dont_retry(void);
#else
static inline int bootretry_tstc_timeout(void)
{
return 0;
}
-#endif
-void init_cmd_timeout(void);
-void reset_cmd_timeout(void);
+static inline void bootretry_init_cmd_timeout(void)
+{
+}
+
+static inline void bootretry_reset_cmd_timeout(void)
+{
+}
+
+static inline void bootretry_dont_retry(void)
+{
+}
+
+#endif
#endif
diff --git a/include/cli.h b/include/cli.h
index 61f8aee..10dbc66 100644
--- a/include/cli.h
+++ b/include/cli.h
@@ -100,9 +100,6 @@ int cli_readline_into_buffer(const char *const prompt, char *buffer,
*/
int cli_simple_parse_line(char *line, char *argv[]);
-/** bootretry_dont_retry() - Indicate that we should not retry the boot */
-void bootretry_dont_retry(void);
-
#define endtick(seconds) (get_ticks() + (uint64_t)(seconds) * get_tbclk())
#endif