autoboot: Rename CONFIG_MENUKEY to CONFIG_AUTOBOOT_MENUKEY

Since this is part of the autoboot functionality, it makes sense to name
it with an AUTOBOOT prefix. No mainline boards use it so this should be
safe, and downstream boards will need to adjust.

Since this option is just an integer value, it really needs another option
to control whether the feature is enabled or not. Add a new
CONFIG_USE_AUTOBOOT_MENUKEY for that. This fits better with how things are
done with Kconfig, avoiding the need to use a specific value to disable
the feature.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2019-07-20 20:51:21 -06:00 committed by Tom Rini
parent 2452bb7636
commit 8fc31e23aa
6 changed files with 32 additions and 8 deletions

View file

@ -153,6 +153,23 @@ config AUTOBOOT_STOP_STR_SHA256
string / password matches a values that is encypted via
a SHA256 hash and saved in the environment.
config AUTOBOOT_USE_MENUKEY
bool "Allow a specify key to run a menu from the environment"
depends on !AUTOBOOT_KEYED
help
If a specific key is pressed to stop autoboot, then the commands in
the environment variable 'menucmd' are executed before boot starts.
config AUTOBOOT_MENUKEY
int "ASCII value of boot key to show a menu"
default 0
depends on AUTOBOOT_USE_MENUKEY
help
If this key is pressed to stop autoboot, then the commands in the
environment variable 'menucmd' will be executed before boot starts.
For example, 33 means "!" in ASCII, so pressing ! at boot would take
this action.
endmenu
config BUILD_BIN2C

View file

@ -224,7 +224,7 @@ static int abortboot_key_sequence(int bootdelay)
return abort;
}
#ifdef CONFIG_MENUKEY
#ifdef CONFIG_USE_AUTOBOOT_MENUKEY
static int menukey;
#endif
@ -252,7 +252,7 @@ static int abortboot_single_key(int bootdelay)
if (tstc()) { /* we got a key press */
abort = 1; /* don't auto boot */
bootdelay = 0; /* no more delay */
# ifdef CONFIG_MENUKEY
# ifdef CONFIG_USE_AUTOBOOT_MENUKEY
menukey = getc();
# else
(void) getc(); /* consume input */
@ -358,11 +358,11 @@ void autoboot_command(const char *s)
#endif
}
#ifdef CONFIG_MENUKEY
if (menukey == CONFIG_MENUKEY) {
#ifdef CONFIG_USE_AUTOBOOT_MENUKEY
if (menukey == CONFIG_AUTOBOOT_MENUKEY) {
s = env_get("menucmd");
if (s)
run_command_list(s, -1, 0);
}
#endif /* CONFIG_MENUKEY */
#endif /* CONFIG_USE_AUTOBOOT_MENUKEY */
}

View file

@ -8,7 +8,7 @@ CONFIG_USE_BOOTARGS=y
CONFIG_BOOTARGS="console=ttyS0,115200"
# CONFIG_USE_BOOTCOMMAND is not set
CONFIG_USE_PREBOOT=y
CONFIG_PREBOOT="setenv hostname vining-${unit_serial} ; setenv PS1 "${unit_ident} (${unit_serial}) => " ; if gpio input 78 ; then setenv bootdelay 10 ; setenv boottype rcvr ; else setenv bootdelay 5 ; setenv boottype norm ; fi"
CONFIG_PREBOOT="setenv hostname vining-${unit_serial} ; setenv PS1 \"${unit_ident} (${unit_serial}) => \" ; if gpio input 78 ; then setenv bootdelay 10 ; setenv boottype rcvr ; else setenv bootdelay 5 ; setenv boottype norm ; fi"
CONFIG_SYS_CONSOLE_IS_IN_ENV=y
CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
CONFIG_SYS_CONSOLE_ENV_OVERWRITE=y

View file

@ -152,3 +152,11 @@ What they do
(Only effective when CONFIG_BOOT_RETRY_TIME is also set)
After the countdown timed out, the board will be reset to restart
again.
CONFIG_AUTOBOOT_USE_MENUKEY
CONFIG_AUTOBOOT_MENUKEY
If this key is pressed to stop autoboot, then the commands in the
environment variable 'menucmd' will be executed before boot starts.
For example, 33 means "!" in ASCII, so pressing ! at boot would take
this action.

View file

@ -27,7 +27,7 @@ const char *bootdelay_process(void);
* autoboot_command() - run the autoboot command
*
* If enabled, run the autoboot command returned from bootdelay_process().
* Also do the CONFIG_MENUKEY processing if enabled.
* Also do the CONFIG_AUTOBOOT_MENUKEY processing if enabled.
*
* @cmd: Command to run
*/

View file

@ -1140,7 +1140,6 @@ CONFIG_MEMSIZE_MASK
CONFIG_MEM_HOLE_16M
CONFIG_MEM_INIT_VALUE
CONFIG_MEM_REMAP
CONFIG_MENUKEY
CONFIG_MENU_SHOW
CONFIG_MFG_ENV_SETTINGS
CONFIG_MIIM_ADDRESS