autoboot: Use CONFIG_AUTOBOOT_STOP_STR_SHA256 indirectly
authorSimon Glass <sjg@chromium.org>
Sun, 21 Jul 2019 02:51:15 +0000 (20:51 -0600)
committerTom Rini <trini@konsulko.com>
Fri, 2 Aug 2019 15:19:14 +0000 (11:19 -0400)
This CONFIG option is only present if CONFIG_AUTOBOOT_ENCRYPTION is
enabled so it cannot be used in code without that #ifdef. But we want to
reduce the use of #ifdef in this file and in particular to avoid having
two different functions both named passwd_abort() but which do different
things.

In preparation for this, create an intermediate value which is set to an
empty string if there is no value for CONFIG_AUTOBOOT_STOP_STR_SHA256.

Signed-off-by: Simon Glass <sjg@chromium.org>
common/autoboot.c

index 94133ea..e3086e3 100644 (file)
@@ -28,6 +28,12 @@ DECLARE_GLOBAL_DATA_PTR;
 /* Stored value of bootdelay, used by autoboot_command() */
 static int stored_bootdelay;
 
+#ifdef CONFIG_AUTOBOOT_ENCRYPTION
+#define AUTOBOOT_STOP_STR_SHA256 CONFIG_AUTOBOOT_STOP_STR_SHA256
+#else
+#define AUTOBOOT_STOP_STR_SHA256 ""
+#endif
+
 #if defined(CONFIG_AUTOBOOT_KEYED)
 #if defined(CONFIG_AUTOBOOT_STOP_STR_SHA256)
 
@@ -61,7 +67,7 @@ static int passwd_abort(uint64_t etime)
        int ret;
 
        if (sha_env_str == NULL)
-               sha_env_str = CONFIG_AUTOBOOT_STOP_STR_SHA256;
+               sha_env_str = AUTOBOOT_STOP_STR_SHA256;
 
        /*
         * Generate the binary value from the environment hash value