[U-Boot] [PATCH] Allow runtime configuration of "zero-delay" check

Joe Hershberger joe.hershberger at ni.com
Fri Aug 17 22:53:12 CEST 2012


Define the new "-2" value for bootdelay to mean autoboot with no delay
and don't check for an abort key (while "0" value means do check).

Signed-off-by: Joe Hershberger <joe.hershberger at ni.com>
---
 README        | 2 ++
 common/main.c | 5 +++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/README b/README
index fb9d904..da30673 100644
--- a/README
+++ b/README
@@ -679,6 +679,8 @@ The following options need to be configured:
 - Boot Delay:	CONFIG_BOOTDELAY - in seconds
 		Delay before automatically booting the default image;
 		set to -1 to disable autoboot.
+		set to -2 to autoboot with no delay and not check for abort
+		(even when CONFIG_ZERO_BOOTDELAY_CHECK is defined).
 
 		See doc/README.autoboot for these options that
 		work with CONFIG_BOOTDELAY. None are required.
diff --git a/common/main.c b/common/main.c
index 81984ac..9507cec 100644
--- a/common/main.c
+++ b/common/main.c
@@ -222,7 +222,8 @@ int abortboot(int bootdelay)
 #ifdef CONFIG_MENUPROMPT
 	printf(CONFIG_MENUPROMPT);
 #else
-	printf("Hit any key to stop autoboot: %2d ", bootdelay);
+	if (bootdelay >= 0)
+		printf("Hit any key to stop autoboot: %2d ", bootdelay);
 #endif
 
 #if defined CONFIG_ZERO_BOOTDELAY_CHECK
@@ -382,7 +383,7 @@ void main_loop (void)
 
 	debug ("### main_loop: bootcmd=\"%s\"\n", s ? s : "<UNDEFINED>");
 
-	if (bootdelay >= 0 && s && !abortboot (bootdelay)) {
+	if (bootdelay != -1 && s && !abortboot(bootdelay)) {
 # ifdef CONFIG_AUTOBOOT_KEYED
 		int prev = disable_ctrlc(1);	/* disable Control C checking */
 # endif
-- 
1.7.11.5



More information about the U-Boot mailing list