[U-Boot] [PATCH 13/18] autoboot: Tidy up use of menukey

Simon Glass sjg at chromium.org
Sun May 5 21:53:37 UTC 2019


Move the variable to the top of the file and adjust the code which uses it
to use if() rather than #ifdef, to make it easier to read.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

 common/autoboot.c | 26 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

diff --git a/common/autoboot.c b/common/autoboot.c
index ad189a8ba28..9752470873c 100644
--- a/common/autoboot.c
+++ b/common/autoboot.c
@@ -28,6 +28,7 @@ DECLARE_GLOBAL_DATA_PTR;
 
 /* Stored value of bootdelay, used by autoboot_command() */
 static int stored_bootdelay;
+static int menukey;
 
 #ifdef CONFIG_AUTOBOOT_ENCRYPTION
 #define AUTOBOOT_STOP_STR_SHA256 CONFIG_AUTOBOOT_STOP_STR_SHA256
@@ -35,6 +36,12 @@ static int stored_bootdelay;
 #define AUTOBOOT_STOP_STR_SHA256 ""
 #endif
 
+#ifdef CONFIG_USE_AUTOBOOT_MENUKEY
+#define AUTOBOOT_MENUKEY CONFIG_USE_AUTOBOOT_MENUKEY
+#else
+#define AUTOBOOT_MENUKEY 0
+#endif
+
 /*
  * Use a "constant-length" time compare function for this
  * hash compare:
@@ -224,10 +231,6 @@ static int abortboot_key_sequence(int bootdelay)
 	return abort;
 }
 
-#ifdef CONFIG_USE_AUTOBOOT_MENUKEY
-static int menukey;
-#endif
-
 static int abortboot_single_key(int bootdelay)
 {
 	int abort = 0;
@@ -250,13 +253,13 @@ static int abortboot_single_key(int bootdelay)
 		ts = get_timer(0);
 		do {
 			if (tstc()) {	/* we got a key press	*/
+				int key;
+
 				abort  = 1;	/* don't auto boot	*/
 				bootdelay = 0;	/* no more delay	*/
-# ifdef CONFIG_USE_AUTOBOOT_MENUKEY
-				menukey = getc();
-# else
-				(void) getc();  /* consume input	*/
-# endif
+				key = getc(); /* consume input	*/
+				if (IS_ENABLED(CONFIG_USE_AUTOBOOT_MENUKEY))
+					menukey = key;
 				break;
 			}
 			udelay(10000);
@@ -358,11 +361,10 @@ void autoboot_command(const char *s)
 #endif
 	}
 
-#ifdef CONFIG_USE_AUTOBOOT_MENUKEY
-	if (menukey == CONFIG_AUTOBOOT_MENUKEY) {
+	if (IS_ENABLED(CONFIG_USE_AUTOBOOT_MENUKEY) &&
+	    menukey == AUTOBOOT_MENUKEY) {
 		s = env_get("menucmd");
 		if (s)
 			run_command_list(s, -1, 0);
 	}
-#endif /* CONFIG_USE_AUTOBOOT_MENUKEY */
 }
-- 
2.21.0.1020.gf2820cf01a-goog



More information about the U-Boot mailing list