Convert CONFIG_CMD_SAVES to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_SAVES

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
diff --git a/README b/README
index 5dceb2e..2e79fea3 100644
--- a/README
+++ b/README
@@ -815,7 +815,6 @@
 		CONFIG_CMD_PING		* send ICMP ECHO_REQUEST to network
 					  host
 		CONFIG_CMD_RUN		  run command in env variable
-		CONFIG_CMD_SAVES	* save S record dump
 		CONFIG_CMD_SDRAM	* print SDRAM configuration information
 					  (requires CONFIG_CMD_I2C)
 		CONFIG_CMD_SF		* Read/write/erase SPI NOR flash
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 9cfeede..c6f5f23 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -308,6 +308,7 @@
 config ARCH_DAVINCI
 	bool "TI DaVinci"
 	select CPU_ARM926EJS
+	imply CMD_SAVES
 	help
 	  Support for TI's DaVinci platform.
 
@@ -409,21 +410,25 @@
 	bool "Support spear300"
 	select CPU_ARM926EJS
 	select BOARD_EARLY_INIT_F
+	imply CMD_SAVES
 
 config TARGET_SPEAR310
 	bool "Support spear310"
 	select CPU_ARM926EJS
 	select BOARD_EARLY_INIT_F
+	imply CMD_SAVES
 
 config TARGET_SPEAR320
 	bool "Support spear320"
 	select CPU_ARM926EJS
 	select BOARD_EARLY_INIT_F
+	imply CMD_SAVES
 
 config TARGET_SPEAR600
 	bool "Support spear600"
 	select CPU_ARM926EJS
 	select BOARD_EARLY_INIT_F
+	imply CMD_SAVES
 
 config TARGET_STV0991
 	bool "Support stv0991"
@@ -575,6 +580,7 @@
 	select CMD_POWEROFF
 	imply CMD_MTDPARTS
 	imply FIT
+	imply CMD_SAVES
 
 config ARCH_OMAP2PLUS
 	bool "TI OMAP2+"
diff --git a/cmd/Kconfig b/cmd/Kconfig
index d623a43..9efc2cf 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -779,6 +779,12 @@
 	  Attachment, where AT refers to an IBM AT (Advanced Technology)
 	  computer released in 1984.
 
+config CMD_SAVES
+	bool "saves - Save a file over serial in S-Record format"
+	help
+	  Provides a way to save a binary file using the Motorola S-Record
+	  format over the serial line.
+
 config CMD_SF
 	bool "sf"
 	help
diff --git a/configs/ethernut5_defconfig b/configs/ethernut5_defconfig
index 26df916..ca82336 100644
--- a/configs/ethernut5_defconfig
+++ b/configs/ethernut5_defconfig
@@ -20,6 +20,7 @@
 CONFIG_CMD_I2C=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_FPGA is not set
+CONFIG_CMD_SAVES=y
 CONFIG_CMD_RARP=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
diff --git a/configs/microblaze-generic_defconfig b/configs/microblaze-generic_defconfig
index 6233803..92324b4 100644
--- a/configs/microblaze-generic_defconfig
+++ b/configs/microblaze-generic_defconfig
@@ -24,6 +24,7 @@
 CONFIG_CMD_ASKENV=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_MFSL=y
+CONFIG_CMD_SAVES=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_TFTPPUT=y
 CONFIG_CMD_DHCP=y
diff --git a/configs/x600_defconfig b/configs/x600_defconfig
index 98b1880..b8a9a6f 100644
--- a/configs/x600_defconfig
+++ b/configs/x600_defconfig
@@ -24,6 +24,7 @@
 CONFIG_CMD_USB=y
 CONFIG_CMD_FPGA_LOADMK=y
 CONFIG_CMD_GPIO=y
+CONFIG_CMD_SAVES=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
diff --git a/configs/xtfpga_defconfig b/configs/xtfpga_defconfig
index e52e62b..f28c05f 100644
--- a/configs/xtfpga_defconfig
+++ b/configs/xtfpga_defconfig
@@ -10,6 +10,7 @@
 CONFIG_AUTOBOOT_STOP_STR=" "
 CONFIG_CMD_ASKENV=y
 CONFIG_CRC32_VERIFY=y
+CONFIG_CMD_SAVES=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_DIAG=y
diff --git a/include/config_cmd_all.h b/include/config_cmd_all.h
index 87fba76..c72b242 100644
--- a/include/config_cmd_all.h
+++ b/include/config_cmd_all.h
@@ -13,7 +13,6 @@
  * Alphabetical list of all possible commands.
  */
 
-#define CONFIG_CMD_SAVES	/* save S record dump		*/
 #define CONFIG_CMD_SDRAM	/* SDRAM DIMM SPD info printout */
 #define CONFIG_CMD_TERMINAL	/* built-in Serial Terminal	*/
 #define CONFIG_CMD_UNIVERSE	/* Tundra Universe Support	*/
diff --git a/include/configs/calimain.h b/include/configs/calimain.h
index b6c8035..044aa69 100644
--- a/include/configs/calimain.h
+++ b/include/configs/calimain.h
@@ -294,14 +294,6 @@
 	"echo Product: $product; "	\
 	"gpio c 1; gpio c 2;"
 
-/*
- * U-Boot commands
- */
-#define CONFIG_CMD_SAVES
-
-#ifndef CONFIG_DRIVER_TI_EMAC
-#endif
-
 /* additions for new relocation code, must added to all boards */
 #define CONFIG_SYS_SDRAM_BASE		0xc0000000
 /* initial stack pointer in internal SRAM */
diff --git a/include/configs/da850evm.h b/include/configs/da850evm.h
index 695f3f6..675e7a6 100644
--- a/include/configs/da850evm.h
+++ b/include/configs/da850evm.h
@@ -263,11 +263,6 @@
 	"mem=32M console=ttyS2,115200n8 root=/dev/mtdblock2 rw noinitrd ip=dhcp"
 #define CONFIG_EXTRA_ENV_SETTINGS	"hwconfig=dsp:wake=yes"
 
-/*
- * U-Boot commands
- */
-#define CONFIG_CMD_SAVES
-
 #ifdef CONFIG_CMD_BDI
 #define CONFIG_CLOCKS
 #endif
diff --git a/include/configs/ea20.h b/include/configs/ea20.h
index b1c4e3a..158eea6 100644
--- a/include/configs/ea20.h
+++ b/include/configs/ea20.h
@@ -121,11 +121,6 @@
 #define CONFIG_CMDLINE_TAG
 #define CONFIG_SETUP_MEMORY_TAGS
 
-/*
- * U-Boot commands
- */
-#define CONFIG_CMD_SAVES
-
 #ifdef CONFIG_CMD_BDI
 #define CONFIG_CLOCKS
 #endif
diff --git a/include/configs/ethernut5.h b/include/configs/ethernut5.h
index 5aa091b..32a526f 100644
--- a/include/configs/ethernut5.h
+++ b/include/configs/ethernut5.h
@@ -61,7 +61,6 @@
 #define CONFIG_ENV_SPI_MAX_HZ	15000000
 
 #ifndef MINIMAL_LOADER
-#define CONFIG_CMD_SAVES
 #endif
 
 /* NAND flash */
diff --git a/include/configs/ipam390.h b/include/configs/ipam390.h
index a21261f..083ccd8 100644
--- a/include/configs/ipam390.h
+++ b/include/configs/ipam390.h
@@ -236,11 +236,6 @@
 		"nand write c0000100 180000 20000\0"		\
 	"\0"
 
-/*
- * U-Boot commands
- */
-#define CONFIG_CMD_SAVES
-
 #ifdef CONFIG_CMD_BDI
 #define CONFIG_CLOCKS
 #endif
diff --git a/include/configs/legoev3.h b/include/configs/legoev3.h
index 4ea61af..2e6147d 100644
--- a/include/configs/legoev3.h
+++ b/include/configs/legoev3.h
@@ -197,11 +197,6 @@
 	"loadbootscr=fatload mmc 0 ${bootscraddr} boot.scr\0" \
 	"bootscript=source ${bootscraddr}\0" \
 
-/*
- * U-Boot commands
- */
-#define CONFIG_CMD_SAVES
-
 #ifdef CONFIG_CMD_BDI
 #define CONFIG_CLOCKS
 #endif
diff --git a/include/configs/microblaze-generic.h b/include/configs/microblaze-generic.h
index 636c98c..8e7225c 100644
--- a/include/configs/microblaze-generic.h
+++ b/include/configs/microblaze-generic.h
@@ -160,24 +160,6 @@
 #define CONFIG_BOOTP_GATEWAY
 #define CONFIG_BOOTP_HOSTNAME
 
-/*
- * Command line configuration.
- */
-
-#if defined(FLASH)
-# if !defined(RAMENV)
-#  define CONFIG_CMD_SAVES
-# endif
-
-#else
-#if defined(SPIFLASH)
-
-# if !defined(RAMENV)
-#  define CONFIG_CMD_SAVES
-# endif
-#endif
-#endif
-
 #if defined(CONFIG_CMD_JFFS2)
 # define CONFIG_MTD_PARTITIONS
 #endif
diff --git a/include/configs/omapl138_lcdk.h b/include/configs/omapl138_lcdk.h
index 08e7deb..6ea2b5e 100644
--- a/include/configs/omapl138_lcdk.h
+++ b/include/configs/omapl138_lcdk.h
@@ -274,10 +274,6 @@
 	"boot_fit=0\0" \
 	"console=ttyS2,115200n8\0"
 
-/*
- * U-Boot commands
- */
-#define CONFIG_CMD_SAVES
 #ifdef CONFIG_CMD_BDI
 #define CONFIG_CLOCKS
 #endif
diff --git a/include/configs/spear-common.h b/include/configs/spear-common.h
index 49fdf9c..6b40801 100644
--- a/include/configs/spear-common.h
+++ b/include/configs/spear-common.h
@@ -93,11 +93,6 @@
 #define CONFIG_SYS_NAND_ONFI_DETECTION
 
 /*
- * Command support defines
- */
-#define CONFIG_CMD_SAVES
-
-/*
  * Default Environment Varible definitions
  */
 #define CONFIG_ENV_OVERWRITE
diff --git a/include/configs/ti_armv7_keystone2.h b/include/configs/ti_armv7_keystone2.h
index 03e28fc..ba222e6 100644
--- a/include/configs/ti_armv7_keystone2.h
+++ b/include/configs/ti_armv7_keystone2.h
@@ -197,9 +197,6 @@
 #define CONFIG_DEV_USB_PHY_BASE			KS2_DEV_USB_PHY_BASE
 #define CONFIG_USB_PHY_CFG_BASE			KS2_USB_PHY_CFG_BASE
 
-/* U-Boot command configuration */
-#define CONFIG_CMD_SAVES
-
 /* U-Boot general configuration */
 #define CONFIG_MISC_INIT_R
 #define CONFIG_MX_CYCLIC
diff --git a/include/configs/x600.h b/include/configs/x600.h
index 18167a8..6778825 100644
--- a/include/configs/x600.h
+++ b/include/configs/x600.h
@@ -97,11 +97,6 @@
 #define CONFIG_USB_EHCI_SPEAR
 #define CONFIG_USB_MAX_CONTROLLER_COUNT	2
 
-/*
- * Command support defines
- */
-#define CONFIG_CMD_SAVES
-
 /* Filesystem support (for USB key) */
 #define CONFIG_SUPPORT_VFAT
 
diff --git a/include/configs/xtfpga.h b/include/configs/xtfpga.h
index 206ec34..df983d9 100644
--- a/include/configs/xtfpga.h
+++ b/include/configs/xtfpga.h
@@ -123,12 +123,6 @@
 	/* Boot Argument Buffer Size */
 #define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE
 
-/*=================*/
-/* U-Boot commands */
-/*=================*/
-
-#define CONFIG_CMD_SAVES
-
 /*==============================*/
 /* U-Boot autoboot configuration */
 /*==============================*/
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index 6cfd4a7..2c255a7 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -293,7 +293,6 @@
 CONFIG_CMDLINE_EDITING
 CONFIG_CMDLINE_PS_SUPPORT
 CONFIG_CMDLINE_TAG
-CONFIG_CMD_SAVES
 CONFIG_CMD_SCSI
 CONFIG_CMD_SDRAM
 CONFIG_CMD_SF_TEST