From d126e016493dc84a87db4ce87db4c5a94ee29e9a Mon Sep 17 00:00:00 2001 From: Stefan Roese Date: Mon, 18 May 2015 14:08:23 +0200 Subject: autoboot.c: Move config options to Kconfig This patch moves the following config options to Kconfig: CONFIG_AUTOBOOT_KEYED CONFIG_AUTOBOOT_PROMPT CONFIG_AUTOBOOT_DELAY_STR CONFIG_AUTOBOOT_STOP_STR AUTOBOOT_KEYED_CTRLC Signed-off-by: Stefan Roese Reviewed-by: Simon Glass [trini: Drop ip04 and pm9263 configs/ additions, those boards previously set CONFIG_AUTOBOOT_PROMPT but never used it, re-run savedefconfig over all boards that did change. Make digsy_mtc_* string include seconds to match others and not warn. ] Signed-off-by: Tom Rini Cc: Masahiro Yamada --- common/Kconfig | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ common/autoboot.c | 6 +++++- 2 files changed, 69 insertions(+), 1 deletion(-) (limited to 'common') diff --git a/common/Kconfig b/common/Kconfig index a2167f01f73..6b5d166429a 100644 --- a/common/Kconfig +++ b/common/Kconfig @@ -17,6 +17,70 @@ config SYS_HUSH_PARSER help Backward compatibility. +menu "Autoboot options" + +config AUTOBOOT_KEYED + bool "Stop autobooting via specific input key / string" + default n + help + This option enables stopping (aborting) of the automatic + boot feature only by issuing a specific input key or + string. If not enabled, any input key will abort the + U-Boot automatic booting process and bring the device + to the U-Boot prompt for user input. + +config AUTOBOOT_PROMPT + string "Autoboot stop prompt" + depends on AUTOBOOT_KEYED + default "Autoboot in %d seconds\\n" + help + This string is displayed before the boot delay selected by + CONFIG_BOOTDELAY starts. If it is not defined there is no + output indicating that autoboot is in progress. + + Note that this define is used as the (only) argument to a + printf() call, so it may contain '%' format specifications, + provided that it also includes, sepearated by commas exactly + like in a printf statement, the required arguments. It is + the responsibility of the user to select only such arguments + that are valid in the given context. + +config AUTOBOOT_DELAY_STR + string "Delay autobooting via specific input key / string" + depends on AUTOBOOT_KEYED + help + This option delays the automatic boot feature by issuing + a specific input key or string. If CONFIG_AUTOBOOT_DELAY_STR + or the environment variable "bootdelaykey" is specified + and this string is received from console input before + autoboot starts booting, U-Boot gives a command prompt. The + U-Boot prompt will time out if CONFIG_BOOT_RETRY_TIME is + used, otherwise it never times out. + +config AUTOBOOT_STOP_STR + string "Stop autobooting via specific input key / string" + depends on AUTOBOOT_KEYED + help + This option enables stopping (aborting) of the automatic + boot feature only by issuing a specific input key or + string. If CONFIG_AUTOBOOT_STOP_STR or the environment + variable "bootstopkey" is specified and this string is + received from console input before autoboot starts booting, + U-Boot gives a command prompt. The U-Boot prompt never + times out, even if CONFIG_BOOT_RETRY_TIME is used. + +config AUTOBOOT_KEYED_CTRLC + bool "Enable Ctrl-C autoboot interruption" + depends on AUTOBOOT_KEYED + default n + help + This option allows for the boot sequence to be interrupted + by ctrl-c, in addition to the "bootdelaykey" and "bootstopkey". + Setting this variable provides an escape sequence from the + limited "password" strings. + +endmenu + comment "Commands" menu "Info commands" diff --git a/common/autoboot.c b/common/autoboot.c index 7c92f3e54d1..f72eb1860c1 100644 --- a/common/autoboot.c +++ b/common/autoboot.c @@ -56,7 +56,11 @@ static int abortboot_keyed(int bootdelay) #endif # ifdef CONFIG_AUTOBOOT_PROMPT - printf(CONFIG_AUTOBOOT_PROMPT); + /* + * CONFIG_AUTOBOOT_PROMPT includes the %d for all boards. + * To print the bootdelay value upon bootup. + */ + printf(CONFIG_AUTOBOOT_PROMPT, bootdelay); # endif # ifdef CONFIG_AUTOBOOT_DELAY_STR -- cgit v1.2.3