summaryrefslogtreecommitdiff
path: root/common/autoboot.c
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2019-07-20 20:51:23 -0600
committerTom Rini <trini@konsulko.com>2019-08-02 11:19:14 -0400
commitd915ad277a96d2fa23268e3860a885d852398dfb (patch)
treeb81ca4558a5b912c103a87595ae11ff07da55c9b /common/autoboot.c
parentdaedaada38b89b7d4ca14b01d7c3eb775cf5a0a8 (diff)
autoboot: Tidy up use of menukey
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@chromium.org>
Diffstat (limited to 'common/autoboot.c')
-rw-r--r--common/autoboot.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/common/autoboot.c b/common/autoboot.c
index ad189a8ba2..9752470873 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 */
}