[U-Boot] [PATCH v2 5/5] autoboot: add CONFIG_AUTOBOOT to allow to not compile autoboot.c

Masahiro Yamada yamada.masahiro at socionext.com
Sat Jun 11 11:44:12 CEST 2016


Another problem of commit bb597c0eeb7e ("common: bootdelay: move
CONFIG_BOOTDELAY into a Kconfig option") is that CONFIG_BOOTDELAY
is now defined for all the boards.

Before that commit, it was allowed to unset CONFIG_BOOTDELAY to not
compile common/autoboot.c, as described in common/Makefile:

  # This option is not just y/n - it can have a numeric value
  ifdef CONFIG_BOOTDELAY
  obj-y += autoboot.o
  endif

It was a bit odd to enable/disable code with an integer type option,
but anyway it was how this option worked before that commit, and
several boards actually unset it to opt out of the autoboot feature.

This commit adds a bool option, CONFIG_AUTOBOOT, and have the
CONFIG_BOOTDELAY to depend on it.

I chose "default y" for this option because most of boards enable the
autoboot.  I added "# CONFIG_AUTOBOOT is not set" for the boards that
did not set CONFIG_BOOTDELAY prior to the bad commit.

Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
---

Changes in v2:
  - Fix some false positive cases reported by Soeren Moch.

 cmd/Kconfig                           | 6 ++++++
 common/Kconfig                        | 1 +
 common/Makefile                       | 5 +----
 configs/10m50_defconfig               | 1 +
 configs/3c120_defconfig               | 1 +
 configs/M5249EVB_defconfig            | 1 +
 configs/am335x_sl50_defconfig         | 1 +
 configs/bcm11130_defconfig            | 1 +
 configs/bcm11130_nand_defconfig       | 1 +
 configs/bcm28155_ap_defconfig         | 1 +
 configs/bcm28155_w1d_defconfig        | 1 +
 configs/bcm911360_entphn-ns_defconfig | 1 +
 configs/bcm911360_entphn_defconfig    | 1 +
 configs/bcm911360k_defconfig          | 1 +
 configs/bcm958300k-ns_defconfig       | 1 +
 configs/bcm958300k_defconfig          | 1 +
 configs/bcm958305k_defconfig          | 1 +
 configs/bcm958622hr_defconfig         | 1 +
 configs/bf506f-ezkit_defconfig        | 1 +
 configs/dnp5370_defconfig             | 1 +
 configs/espresso7420_defconfig        | 1 +
 configs/malta64_defconfig             | 1 +
 configs/malta64el_defconfig           | 1 +
 configs/malta_defconfig               | 1 +
 configs/maltael_defconfig             | 1 +
 configs/mpr2_defconfig                | 1 +
 configs/ms7720se_defconfig            | 1 +
 configs/openrisc-generic_defconfig    | 1 +
 configs/rsk7203_defconfig             | 1 +
 configs/s5p_goni_defconfig            | 1 +
 configs/shmin_defconfig               | 1 +
 include/autoboot.h                    | 2 +-
 32 files changed, 37 insertions(+), 5 deletions(-)

diff --git a/cmd/Kconfig b/cmd/Kconfig
index d51645c..42e0e39 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -38,6 +38,12 @@ config SYS_PROMPT
 
 menu "Autoboot options"
 
+config AUTOBOOT
+	bool "Autoboot"
+	default y
+	help
+	  This enables the autoboot.  See doc/README.autoboot for detail.
+
 config AUTOBOOT_KEYED
 	bool "Stop autobooting via specific input key / string"
 	default n
diff --git a/common/Kconfig b/common/Kconfig
index 4d17b10..a9db896 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -100,6 +100,7 @@ endmenu
 config BOOTDELAY
 	int "delay in seconds before automatically booting"
 	default 0
+	depends on AUTOBOOT
 	help
 	  Delay before automatically running bootcmd;
 	  set to -1 to disable autoboot.
diff --git a/common/Makefile b/common/Makefile
index 1557a04..d02c57e 100644
--- a/common/Makefile
+++ b/common/Makefile
@@ -15,10 +15,7 @@ ifdef CONFIG_SYS_HUSH_PARSER
 obj-y += cli_hush.o
 endif
 
-# This option is not just y/n - it can have a numeric value
-ifdef CONFIG_BOOTDELAY
-obj-y += autoboot.o
-endif
+obj-$(CONFIG_AUTOBOOT) += autoboot.o
 
 # This option is not just y/n - it can have a numeric value
 ifdef CONFIG_BOOT_RETRY_TIME
diff --git a/configs/10m50_defconfig b/configs/10m50_defconfig
index 4f85c22..15952af 100644
--- a/configs/10m50_defconfig
+++ b/configs/10m50_defconfig
@@ -6,6 +6,7 @@ CONFIG_DEFAULT_DEVICE_TREE="10m50_devboard"
 CONFIG_FIT=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_CPU=y
 # CONFIG_CMD_BOOTD is not set
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/3c120_defconfig b/configs/3c120_defconfig
index c145caf..b19c956 100644
--- a/configs/3c120_defconfig
+++ b/configs/3c120_defconfig
@@ -6,6 +6,7 @@ CONFIG_DEFAULT_DEVICE_TREE="3c120_devboard"
 CONFIG_FIT=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_CPU=y
 # CONFIG_CMD_BOOTD is not set
 # CONFIG_CMD_IMLS is not set
diff --git a/configs/M5249EVB_defconfig b/configs/M5249EVB_defconfig
index f06379f..1588c52 100644
--- a/configs/M5249EVB_defconfig
+++ b/configs/M5249EVB_defconfig
@@ -1,6 +1,7 @@
 CONFIG_M68K=y
 CONFIG_TARGET_M5249EVB=y
 CONFIG_SYS_TEXT_BASE=0xffe00000
+# CONFIG_AUTOBOOT is not set
 CONFIG_LOOPW=y
 # CONFIG_CMD_SETEXPR is not set
 # CONFIG_CMD_NET is not set
diff --git a/configs/am335x_sl50_defconfig b/configs/am335x_sl50_defconfig
index c227ef4..01c1eeb 100644
--- a/configs/am335x_sl50_defconfig
+++ b/configs/am335x_sl50_defconfig
@@ -6,6 +6,7 @@ CONFIG_SPL_STACK_R=y
 CONFIG_FIT=y
 CONFIG_SYS_EXTRA_OPTIONS="EMMC_BOOT"
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/bcm11130_defconfig b/configs/bcm11130_defconfig
index b8ec8ac..ceab12d 100644
--- a/configs/bcm11130_defconfig
+++ b/configs/bcm11130_defconfig
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_TARGET_BCM28155_AP=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_MMC_ENV_DEV=0"
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/bcm11130_nand_defconfig b/configs/bcm11130_nand_defconfig
index 6021fd2..119f5c5 100644
--- a/configs/bcm11130_nand_defconfig
+++ b/configs/bcm11130_nand_defconfig
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_TARGET_BCM28155_AP=y
 CONFIG_SYS_EXTRA_OPTIONS="NAND"
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/bcm28155_ap_defconfig b/configs/bcm28155_ap_defconfig
index 71a52a1..a1747d4 100644
--- a/configs/bcm28155_ap_defconfig
+++ b/configs/bcm28155_ap_defconfig
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK=y
 CONFIG_TARGET_BCM28155_AP=y
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/bcm28155_w1d_defconfig b/configs/bcm28155_w1d_defconfig
index 97fe622..25c7984 100644
--- a/configs/bcm28155_w1d_defconfig
+++ b/configs/bcm28155_w1d_defconfig
@@ -3,6 +3,7 @@ CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK=y
 CONFIG_TARGET_BCM28155_AP=y
 CONFIG_SYS_EXTRA_OPTIONS="BCM_SF2_ETH,BCM_SF2_ETH_GMAC"
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/bcm911360_entphn-ns_defconfig b/configs/bcm911360_entphn-ns_defconfig
index d8a30d1..a9403a8 100644
--- a/configs/bcm911360_entphn-ns_defconfig
+++ b/configs/bcm911360_entphn-ns_defconfig
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_TARGET_BCMCYGNUS=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x20000000,ARMV7_NONSEC"
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/bcm911360_entphn_defconfig b/configs/bcm911360_entphn_defconfig
index 205db1e..aee2e2e 100644
--- a/configs/bcm911360_entphn_defconfig
+++ b/configs/bcm911360_entphn_defconfig
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_TARGET_BCMCYGNUS=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x20000000"
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/bcm911360k_defconfig b/configs/bcm911360k_defconfig
index bcb24b4..df76dac 100644
--- a/configs/bcm911360k_defconfig
+++ b/configs/bcm911360k_defconfig
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_TARGET_BCMCYGNUS=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x40000000"
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/bcm958300k-ns_defconfig b/configs/bcm958300k-ns_defconfig
index 527f4a5..0b00ce3 100644
--- a/configs/bcm958300k-ns_defconfig
+++ b/configs/bcm958300k-ns_defconfig
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_TARGET_BCMCYGNUS=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x40000000,ARMV7_NONSEC"
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/bcm958300k_defconfig b/configs/bcm958300k_defconfig
index bcb24b4..df76dac 100644
--- a/configs/bcm958300k_defconfig
+++ b/configs/bcm958300k_defconfig
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_TARGET_BCMCYGNUS=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x40000000"
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/bcm958305k_defconfig b/configs/bcm958305k_defconfig
index bcb24b4..df76dac 100644
--- a/configs/bcm958305k_defconfig
+++ b/configs/bcm958305k_defconfig
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_TARGET_BCMCYGNUS=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x40000000"
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/bcm958622hr_defconfig b/configs/bcm958622hr_defconfig
index 6d06b4e..99e5452 100644
--- a/configs/bcm958622hr_defconfig
+++ b/configs/bcm958622hr_defconfig
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_TARGET_BCMNSP=y
 CONFIG_SYS_EXTRA_OPTIONS="SYS_SDRAM_SIZE=0x01000000"
 CONFIG_HUSH_PARSER=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_ASKENV=y
diff --git a/configs/bf506f-ezkit_defconfig b/configs/bf506f-ezkit_defconfig
index 0decb53..c36fc5f 100644
--- a/configs/bf506f-ezkit_defconfig
+++ b/configs/bf506f-ezkit_defconfig
@@ -1,5 +1,6 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_BF506F_EZKIT=y
+# CONFIG_AUTOBOOT is not set
 # CONFIG_CMD_BDI is not set
 # CONFIG_CMD_CONSOLE is not set
 # CONFIG_CMD_BOOTD is not set
diff --git a/configs/dnp5370_defconfig b/configs/dnp5370_defconfig
index b6d3b74..782cc88 100644
--- a/configs/dnp5370_defconfig
+++ b/configs/dnp5370_defconfig
@@ -1,5 +1,6 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_DNP5370=y
+# CONFIG_AUTOBOOT is not set
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_MII=y
diff --git a/configs/espresso7420_defconfig b/configs/espresso7420_defconfig
index 8d0bace..c50da0c 100644
--- a/configs/espresso7420_defconfig
+++ b/configs/espresso7420_defconfig
@@ -4,5 +4,6 @@ CONFIG_ARCH_EXYNOS7=y
 CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_DEFAULT_DEVICE_TREE="exynos7420-espresso7420"
 CONFIG_SYS_PROMPT="ESPRESSO7420 # "
+# CONFIG_AUTOBOOT is not set
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_SETEXPR is not set
diff --git a/configs/malta64_defconfig b/configs/malta64_defconfig
index 590f9b5..fcce6c7 100644
--- a/configs/malta64_defconfig
+++ b/configs/malta64_defconfig
@@ -4,6 +4,7 @@ CONFIG_CPU_MIPS64_R2=y
 CONFIG_DEFAULT_DEVICE_TREE="mti,malta"
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="malta # "
+# CONFIG_AUTOBOOT is not set
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/malta64el_defconfig b/configs/malta64el_defconfig
index ff93931..002633b 100644
--- a/configs/malta64el_defconfig
+++ b/configs/malta64el_defconfig
@@ -5,6 +5,7 @@ CONFIG_CPU_MIPS64_R2=y
 CONFIG_DEFAULT_DEVICE_TREE="mti,malta"
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="maltael # "
+# CONFIG_AUTOBOOT is not set
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/malta_defconfig b/configs/malta_defconfig
index 3a87586..e74f23d 100644
--- a/configs/malta_defconfig
+++ b/configs/malta_defconfig
@@ -3,6 +3,7 @@ CONFIG_TARGET_MALTA=y
 CONFIG_DEFAULT_DEVICE_TREE="mti,malta"
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="malta # "
+# CONFIG_AUTOBOOT is not set
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/maltael_defconfig b/configs/maltael_defconfig
index 11ff259..3c4c1fe 100644
--- a/configs/maltael_defconfig
+++ b/configs/maltael_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_LITTLE_ENDIAN=y
 CONFIG_DEFAULT_DEVICE_TREE="mti,malta"
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="maltael # "
+# CONFIG_AUTOBOOT is not set
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/mpr2_defconfig b/configs/mpr2_defconfig
index a8dbfc5..606b942 100644
--- a/configs/mpr2_defconfig
+++ b/configs/mpr2_defconfig
@@ -1,5 +1,6 @@
 CONFIG_SH=y
 CONFIG_TARGET_MPR2=y
+# CONFIG_AUTOBOOT is not set
 # CONFIG_CMD_BDI is not set
 # CONFIG_CMD_CONSOLE is not set
 # CONFIG_CMD_BOOTD is not set
diff --git a/configs/ms7720se_defconfig b/configs/ms7720se_defconfig
index 2ef3105..537ea7c 100644
--- a/configs/ms7720se_defconfig
+++ b/configs/ms7720se_defconfig
@@ -1,5 +1,6 @@
 CONFIG_SH=y
 CONFIG_TARGET_MS7720SE=y
+# CONFIG_AUTOBOOT is not set
 # CONFIG_CMD_BDI is not set
 # CONFIG_CMD_CONSOLE is not set
 # CONFIG_CMD_BOOTD is not set
diff --git a/configs/openrisc-generic_defconfig b/configs/openrisc-generic_defconfig
index a476ba7..14923c0 100644
--- a/configs/openrisc-generic_defconfig
+++ b/configs/openrisc-generic_defconfig
@@ -7,3 +7,4 @@ CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_SYS_NS16550=y
+# CONFIG_AUTOBOOT is not set
diff --git a/configs/rsk7203_defconfig b/configs/rsk7203_defconfig
index b63ad4e..f2e9deb 100644
--- a/configs/rsk7203_defconfig
+++ b/configs/rsk7203_defconfig
@@ -1,5 +1,6 @@
 CONFIG_SH=y
 CONFIG_TARGET_RSK7203=y
+# CONFIG_AUTOBOOT is not set
 # CONFIG_CMD_BDI is not set
 # CONFIG_CMD_CONSOLE is not set
 # CONFIG_CMD_BOOTD is not set
diff --git a/configs/s5p_goni_defconfig b/configs/s5p_goni_defconfig
index c35287d..b381e21 100644
--- a/configs/s5p_goni_defconfig
+++ b/configs/s5p_goni_defconfig
@@ -4,6 +4,7 @@ CONFIG_TARGET_S5P_GONI=y
 CONFIG_DEFAULT_DEVICE_TREE="s5pc1xx-goni"
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Goni # "
+# CONFIG_AUTOBOOT is not set
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_XIMG is not set
 # CONFIG_CMD_FLASH is not set
diff --git a/configs/shmin_defconfig b/configs/shmin_defconfig
index 1749f13..65b4525 100644
--- a/configs/shmin_defconfig
+++ b/configs/shmin_defconfig
@@ -1,5 +1,6 @@
 CONFIG_SH=y
 CONFIG_TARGET_SHMIN=y
+# CONFIG_AUTOBOOT is not set
 # CONFIG_CMD_BDI is not set
 # CONFIG_CMD_CONSOLE is not set
 # CONFIG_CMD_BOOTD is not set
diff --git a/include/autoboot.h b/include/autoboot.h
index 3a9059a..c175f91c 100644
--- a/include/autoboot.h
+++ b/include/autoboot.h
@@ -12,7 +12,7 @@
 #ifndef __AUTOBOOT_H
 #define __AUTOBOOT_H
 
-#ifdef CONFIG_BOOTDELAY
+#ifdef CONFIG_AUTOBOOT
 /**
  * bootdelay_process() - process the bootd delay
  *
-- 
1.9.1



More information about the U-Boot mailing list