autoboot: add CONFIG_AUTOBOOT to allow to not compile autoboot.c

Since commit bb597c0eeb7e ("common: bootdelay: move CONFIG_BOOTDELAY
into a Kconfig option"), CONFIG_BOOTDELAY is defined for all boards.

Prior to 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 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 new bool option, CONFIG_AUTOBOOT, and makes
CONFIG_BOOTDELAY depend on it.

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

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
diff --git a/cmd/Kconfig b/cmd/Kconfig
index d51645c..42e0e39 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -38,6 +38,12 @@
 
 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 e691145..ada4ddb 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -100,6 +100,7 @@
 config BOOTDELAY
 	int "delay in seconds before automatically booting"
 	default 2
+	depends on AUTOBOOT
 	help
 	  Delay before automatically running bootcmd;
 	  set to -1 to disable autoboot.
diff --git a/common/Makefile b/common/Makefile
index 97c59fe..34cb898 100644
--- a/common/Makefile
+++ b/common/Makefile
@@ -15,10 +15,7 @@
 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_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_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_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 2716868..d2a3b73 100644
--- a/configs/bcm11130_defconfig
+++ b/configs/bcm11130_defconfig
@@ -2,6 +2,7 @@
 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 8e01c52..5fc501f 100644
--- a/configs/bcm11130_nand_defconfig
+++ b/configs/bcm11130_nand_defconfig
@@ -2,6 +2,7 @@
 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 4c0f3b3..70eb44a 100644
--- a/configs/bcm28155_ap_defconfig
+++ b/configs/bcm28155_ap_defconfig
@@ -2,6 +2,7 @@
 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 e9d13b9..b849074 100644
--- a/configs/bcm28155_w1d_defconfig
+++ b/configs/bcm28155_w1d_defconfig
@@ -3,6 +3,7 @@
 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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
  *