Convert CONFIG_CMD_DIAG to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_DIAG

Signed-off-by: Simon Glass <sjg@chromium.org>
[trini: imply CMD_DIAG on some keymile configs]
Signed-off-by: Tom Rini <trini@konsulko.com>
diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig
index 4a7e36e..2dd107a 100644
--- a/arch/arm/mach-kirkwood/Kconfig
+++ b/arch/arm/mach-kirkwood/Kconfig
@@ -35,6 +35,7 @@
 	bool "KM_KIRKWOOD Board"
 	select BOARD_LATE_INIT
 	imply CMD_CRAMFS
+	imply CMD_DIAG
 	imply FS_CRAMFS
 
 config TARGET_NET2BIG_V2
diff --git a/arch/powerpc/cpu/mpc83xx/Kconfig b/arch/powerpc/cpu/mpc83xx/Kconfig
index 7ebc27c..02e43bc 100644
--- a/arch/powerpc/cpu/mpc83xx/Kconfig
+++ b/arch/powerpc/cpu/mpc83xx/Kconfig
@@ -65,6 +65,7 @@
 config TARGET_KM8360
 	bool "Support km8360"
 	imply CMD_CRAMFS
+	imply CMD_DIAG
 	imply FS_CRAMFS
 
 config TARGET_SUVD3
diff --git a/cmd/Kconfig b/cmd/Kconfig
index 5451398..334e531 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -972,6 +972,14 @@
 	  for some PowerPC processors. For details please see the
 	  docuemntation in doc/README.beddbug
 
+config CMD_DIAG
+	bool "diag - Board diagnostics"
+	help
+	  This command provides access to board diagnostic tests. These are
+	  called Power-on Self Tests (POST). The command allows listing of
+	  available tests and running either all the tests, or specific tests
+	  identified by name.
+
 endmenu
 
 config CMD_UBI
diff --git a/configs/MiniFAP_defconfig b/configs/MiniFAP_defconfig
index 8c186f7..ee9e99a 100644
--- a/configs/MiniFAP_defconfig
+++ b/configs/MiniFAP_defconfig
@@ -21,6 +21,7 @@
 CONFIG_CMD_BSP=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 CONFIG_MAC_PARTITION=y
 CONFIG_ISO_PARTITION=y
 # CONFIG_MMC is not set
diff --git a/configs/TQM5200S_HIGHBOOT_defconfig b/configs/TQM5200S_HIGHBOOT_defconfig
index ea022e5..b2f5e5e 100644
--- a/configs/TQM5200S_HIGHBOOT_defconfig
+++ b/configs/TQM5200S_HIGHBOOT_defconfig
@@ -17,6 +17,7 @@
 CONFIG_CMD_BSP=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 CONFIG_MAC_PARTITION=y
 CONFIG_ISO_PARTITION=y
 # CONFIG_MMC is not set
diff --git a/configs/TQM5200S_defconfig b/configs/TQM5200S_defconfig
index 8cddc8f..fc876b9 100644
--- a/configs/TQM5200S_defconfig
+++ b/configs/TQM5200S_defconfig
@@ -17,6 +17,7 @@
 CONFIG_CMD_BSP=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 CONFIG_MAC_PARTITION=y
 CONFIG_ISO_PARTITION=y
 # CONFIG_MMC is not set
diff --git a/configs/TQM5200_B_HIGHBOOT_defconfig b/configs/TQM5200_B_HIGHBOOT_defconfig
index b0c1252..5b5544a 100644
--- a/configs/TQM5200_B_HIGHBOOT_defconfig
+++ b/configs/TQM5200_B_HIGHBOOT_defconfig
@@ -21,6 +21,7 @@
 CONFIG_CMD_BSP=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 CONFIG_MAC_PARTITION=y
 CONFIG_ISO_PARTITION=y
 # CONFIG_MMC is not set
diff --git a/configs/TQM5200_B_defconfig b/configs/TQM5200_B_defconfig
index 71fb840..1135974 100644
--- a/configs/TQM5200_B_defconfig
+++ b/configs/TQM5200_B_defconfig
@@ -21,6 +21,7 @@
 CONFIG_CMD_BSP=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 CONFIG_MAC_PARTITION=y
 CONFIG_ISO_PARTITION=y
 # CONFIG_MMC is not set
diff --git a/configs/TQM5200_STK100_defconfig b/configs/TQM5200_STK100_defconfig
index b2c1408..c1f4753 100644
--- a/configs/TQM5200_STK100_defconfig
+++ b/configs/TQM5200_STK100_defconfig
@@ -21,6 +21,7 @@
 CONFIG_CMD_BSP=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 CONFIG_MAC_PARTITION=y
 CONFIG_ISO_PARTITION=y
 # CONFIG_MMC is not set
diff --git a/configs/TQM5200_defconfig b/configs/TQM5200_defconfig
index 2cc8057..a1d1ce2 100644
--- a/configs/TQM5200_defconfig
+++ b/configs/TQM5200_defconfig
@@ -20,6 +20,7 @@
 CONFIG_CMD_BSP=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 CONFIG_MAC_PARTITION=y
 CONFIG_ISO_PARTITION=y
 # CONFIG_MMC is not set
diff --git a/configs/acadia_defconfig b/configs/acadia_defconfig
index 0f67553..a30e34d 100644
--- a/configs/acadia_defconfig
+++ b/configs/acadia_defconfig
@@ -15,6 +15,7 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_CMD_DIAG=y
 CONFIG_MAC_PARTITION=y
 CONFIG_ISO_PARTITION=y
 # CONFIG_MMC is not set
diff --git a/configs/amcore_defconfig b/configs/amcore_defconfig
index 420fdfa..e8c6adc 100644
--- a/configs/amcore_defconfig
+++ b/configs/amcore_defconfig
@@ -15,6 +15,7 @@
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_TIMER=y
+CONFIG_CMD_DIAG=y
 CONFIG_DM=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_DM_SERIAL=y
diff --git a/configs/bamboo_defconfig b/configs/bamboo_defconfig
index 45e5493..2322337 100644
--- a/configs/bamboo_defconfig
+++ b/configs/bamboo_defconfig
@@ -19,6 +19,7 @@
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 CONFIG_MAC_PARTITION=y
 CONFIG_ISO_PARTITION=y
 # CONFIG_MMC is not set
diff --git a/configs/bubinga_defconfig b/configs/bubinga_defconfig
index 376ffb3..9a5cbd3 100644
--- a/configs/bubinga_defconfig
+++ b/configs/bubinga_defconfig
@@ -15,6 +15,7 @@
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_SNTP=y
+CONFIG_CMD_DIAG=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_SYS_NS16550=y
diff --git a/configs/calimain_defconfig b/configs/calimain_defconfig
index c69e443..489d85f 100644
--- a/configs/calimain_defconfig
+++ b/configs/calimain_defconfig
@@ -15,6 +15,7 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_CMD_DIAG=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_SYS_NS16550=y
diff --git a/configs/charon_defconfig b/configs/charon_defconfig
index 4e29234..ec22a63 100644
--- a/configs/charon_defconfig
+++ b/configs/charon_defconfig
@@ -20,6 +20,7 @@
 CONFIG_CMD_BSP=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 CONFIG_MAC_PARTITION=y
 CONFIG_ISO_PARTITION=y
 # CONFIG_MMC is not set
diff --git a/configs/cm5200_defconfig b/configs/cm5200_defconfig
index 5f691de..b3db9a6 100644
--- a/configs/cm5200_defconfig
+++ b/configs/cm5200_defconfig
@@ -15,6 +15,7 @@
 CONFIG_CMD_SNTP=y
 CONFIG_CMD_BSP=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 CONFIG_MAC_PARTITION=y
 CONFIG_ISO_PARTITION=y
 # CONFIG_MMC is not set
diff --git a/configs/da850_am18xxevm_defconfig b/configs/da850_am18xxevm_defconfig
index 9fd9a8a..d873101 100644
--- a/configs/da850_am18xxevm_defconfig
+++ b/configs/da850_am18xxevm_defconfig
@@ -26,6 +26,7 @@
 CONFIG_CMD_PING=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SPI_FLASH_WINBOND=y
diff --git a/configs/da850evm_defconfig b/configs/da850evm_defconfig
index aa792a1..f50a949 100644
--- a/configs/da850evm_defconfig
+++ b/configs/da850evm_defconfig
@@ -28,6 +28,7 @@
 CONFIG_CMD_PING=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SPI_FLASH_WINBOND=y
diff --git a/configs/da850evm_direct_nor_defconfig b/configs/da850evm_direct_nor_defconfig
index e835f24..1e17ce7 100644
--- a/configs/da850evm_direct_nor_defconfig
+++ b/configs/da850evm_direct_nor_defconfig
@@ -15,6 +15,7 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_CMD_DIAG=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_SPI_FLASH=y
diff --git a/configs/digsy_mtc_RAMBOOT_defconfig b/configs/digsy_mtc_RAMBOOT_defconfig
index 2a46958..eb0e947 100644
--- a/configs/digsy_mtc_RAMBOOT_defconfig
+++ b/configs/digsy_mtc_RAMBOOT_defconfig
@@ -23,6 +23,7 @@
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_USB=y
diff --git a/configs/digsy_mtc_defconfig b/configs/digsy_mtc_defconfig
index 01f9755..07587d3 100644
--- a/configs/digsy_mtc_defconfig
+++ b/configs/digsy_mtc_defconfig
@@ -21,6 +21,7 @@
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_USB=y
diff --git a/configs/digsy_mtc_rev5_RAMBOOT_defconfig b/configs/digsy_mtc_rev5_RAMBOOT_defconfig
index fb9e97c..5d0d00a 100644
--- a/configs/digsy_mtc_rev5_RAMBOOT_defconfig
+++ b/configs/digsy_mtc_rev5_RAMBOOT_defconfig
@@ -23,6 +23,7 @@
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_USB=y
diff --git a/configs/digsy_mtc_rev5_defconfig b/configs/digsy_mtc_rev5_defconfig
index dd1a649..1137327 100644
--- a/configs/digsy_mtc_rev5_defconfig
+++ b/configs/digsy_mtc_rev5_defconfig
@@ -23,6 +23,7 @@
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_USB=y
diff --git a/configs/ea20_defconfig b/configs/ea20_defconfig
index 2e97bc4..be48626 100644
--- a/configs/ea20_defconfig
+++ b/configs/ea20_defconfig
@@ -25,6 +25,7 @@
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_BMP=y
+CONFIG_CMD_DIAG=y
 CONFIG_CMD_UBI=y
 # CONFIG_MMC is not set
 CONFIG_SPI_FLASH=y
diff --git a/configs/fo300_defconfig b/configs/fo300_defconfig
index d0728eb..f876dfa 100644
--- a/configs/fo300_defconfig
+++ b/configs/fo300_defconfig
@@ -23,6 +23,7 @@
 CONFIG_CMD_BSP=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 CONFIG_MAC_PARTITION=y
 CONFIG_ISO_PARTITION=y
 # CONFIG_MMC is not set
diff --git a/configs/gdppc440etx_defconfig b/configs/gdppc440etx_defconfig
index 5a3b1fc..442f456 100644
--- a/configs/gdppc440etx_defconfig
+++ b/configs/gdppc440etx_defconfig
@@ -18,6 +18,7 @@
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
+CONFIG_CMD_DIAG=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 # CONFIG_PCI_PNP is not set
diff --git a/configs/haleakala_defconfig b/configs/haleakala_defconfig
index 9e3d16d..c8a72f6 100644
--- a/configs/haleakala_defconfig
+++ b/configs/haleakala_defconfig
@@ -18,6 +18,7 @@
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_SNTP=y
+CONFIG_CMD_DIAG=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_SYS_NS16550=y
diff --git a/configs/io64_defconfig b/configs/io64_defconfig
index 9701135..9026ac8 100644
--- a/configs/io64_defconfig
+++ b/configs/io64_defconfig
@@ -22,6 +22,7 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_CMD_DIAG=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 # CONFIG_PCI is not set
diff --git a/configs/iocon_defconfig b/configs/iocon_defconfig
index 211a734..c74df94 100644
--- a/configs/iocon_defconfig
+++ b/configs/iocon_defconfig
@@ -21,6 +21,7 @@
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
+CONFIG_CMD_DIAG=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 # CONFIG_PCI is not set
diff --git a/configs/ipam390_defconfig b/configs/ipam390_defconfig
index d686987..72ceb5e 100644
--- a/configs/ipam390_defconfig
+++ b/configs/ipam390_defconfig
@@ -21,6 +21,7 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_CMD_DIAG=y
 CONFIG_CMD_UBI=y
 # CONFIG_MMC is not set
 CONFIG_SYS_NS16550=y
diff --git a/configs/kilauea_defconfig b/configs/kilauea_defconfig
index 2ec7fa8..28ed551 100644
--- a/configs/kilauea_defconfig
+++ b/configs/kilauea_defconfig
@@ -18,6 +18,7 @@
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_SNTP=y
+CONFIG_CMD_DIAG=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_SYS_NS16550=y
diff --git a/configs/kmtegr1_defconfig b/configs/kmtegr1_defconfig
index 96107d9..746af8c 100644
--- a/configs/kmtegr1_defconfig
+++ b/configs/kmtegr1_defconfig
@@ -15,6 +15,7 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_CMD_DIAG=y
 CONFIG_CMD_UBI=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
diff --git a/configs/kmvect1_defconfig b/configs/kmvect1_defconfig
index 07c18e1..8365055 100644
--- a/configs/kmvect1_defconfig
+++ b/configs/kmvect1_defconfig
@@ -15,6 +15,7 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_CMD_DIAG=y
 CONFIG_CMD_UBI=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
diff --git a/configs/legoev3_defconfig b/configs/legoev3_defconfig
index 510c4c5..86ff6a1 100644
--- a/configs/legoev3_defconfig
+++ b/configs/legoev3_defconfig
@@ -22,6 +22,7 @@
 CONFIG_CMD_PING=y
 CONFIG_CMD_EXT4=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_STMICRO=y
 CONFIG_SYS_NS16550=y
diff --git a/configs/luan_defconfig b/configs/luan_defconfig
index d6e3220..1ee1e6f 100644
--- a/configs/luan_defconfig
+++ b/configs/luan_defconfig
@@ -15,6 +15,7 @@
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
+CONFIG_CMD_DIAG=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_SYS_NS16550=y
diff --git a/configs/lwmon5_defconfig b/configs/lwmon5_defconfig
index 1fbed29..7e524b0 100644
--- a/configs/lwmon5_defconfig
+++ b/configs/lwmon5_defconfig
@@ -22,6 +22,7 @@
 CONFIG_CMD_PING=y
 CONFIG_CMD_BMP=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 CONFIG_MAC_PARTITION=y
 CONFIG_ISO_PARTITION=y
 # CONFIG_MMC is not set
diff --git a/configs/makalu_defconfig b/configs/makalu_defconfig
index 7dfd55b..feba0e7 100644
--- a/configs/makalu_defconfig
+++ b/configs/makalu_defconfig
@@ -16,6 +16,7 @@
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_SNTP=y
+CONFIG_CMD_DIAG=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_SYS_NS16550=y
diff --git a/configs/omapl138_lcdk_defconfig b/configs/omapl138_lcdk_defconfig
index 7c8228b..7a5a78f 100644
--- a/configs/omapl138_lcdk_defconfig
+++ b/configs/omapl138_lcdk_defconfig
@@ -20,15 +20,16 @@
 CONFIG_CMD_ASKENV=y
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_MMC=y
+CONFIG_CMD_PART=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
-CONFIG_CMD_UBI=y
 CONFIG_CMD_FS_GENERIC=y
-CONFIG_CMD_PART=y
+CONFIG_CMD_DIAG=y
+CONFIG_CMD_UBI=y
 CONFIG_SYS_NAND_U_BOOT_LOCATIONS=y
 CONFIG_SYS_NAND_U_BOOT_OFFS=0x28000
 CONFIG_SPI_FLASH=y
diff --git a/configs/pengwyn_defconfig b/configs/pengwyn_defconfig
index 5dcb46b..4c46f1e 100644
--- a/configs/pengwyn_defconfig
+++ b/configs/pengwyn_defconfig
@@ -45,6 +45,7 @@
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_CMD_DIAG=y
 CONFIG_ISO_PARTITION=y
 CONFIG_EFI_PARTITION=y
 CONFIG_MMC_OMAP_HS=y
diff --git a/configs/rainier_defconfig b/configs/rainier_defconfig
index 0a0b4dd..be2beb7 100644
--- a/configs/rainier_defconfig
+++ b/configs/rainier_defconfig
@@ -19,6 +19,7 @@
 CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 CONFIG_MAC_PARTITION=y
 CONFIG_ISO_PARTITION=y
 # CONFIG_MMC is not set
diff --git a/configs/rainier_ramboot_defconfig b/configs/rainier_ramboot_defconfig
index 6690e9b..0c0559a 100644
--- a/configs/rainier_ramboot_defconfig
+++ b/configs/rainier_ramboot_defconfig
@@ -19,6 +19,7 @@
 CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 CONFIG_MAC_PARTITION=y
 CONFIG_ISO_PARTITION=y
 # CONFIG_MMC is not set
diff --git a/configs/redwood_defconfig b/configs/redwood_defconfig
index 182da74..425b2fe 100644
--- a/configs/redwood_defconfig
+++ b/configs/redwood_defconfig
@@ -15,6 +15,7 @@
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
+CONFIG_CMD_DIAG=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 # CONFIG_PCI is not set
diff --git a/configs/sequoia_defconfig b/configs/sequoia_defconfig
index 628cdd8..b21e369 100644
--- a/configs/sequoia_defconfig
+++ b/configs/sequoia_defconfig
@@ -20,6 +20,7 @@
 CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 CONFIG_MAC_PARTITION=y
 CONFIG_ISO_PARTITION=y
 # CONFIG_MMC is not set
diff --git a/configs/sequoia_ramboot_defconfig b/configs/sequoia_ramboot_defconfig
index ddafa27..ffdf6c4 100644
--- a/configs/sequoia_ramboot_defconfig
+++ b/configs/sequoia_ramboot_defconfig
@@ -20,6 +20,7 @@
 CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 CONFIG_MAC_PARTITION=y
 CONFIG_ISO_PARTITION=y
 # CONFIG_MMC is not set
diff --git a/configs/sycamore_defconfig b/configs/sycamore_defconfig
index 6880ae8..1e660ab 100644
--- a/configs/sycamore_defconfig
+++ b/configs/sycamore_defconfig
@@ -15,6 +15,7 @@
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_SNTP=y
+CONFIG_CMD_DIAG=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_SYS_NS16550=y
diff --git a/configs/v38b_defconfig b/configs/v38b_defconfig
index 9440b8c..9470628 100644
--- a/configs/v38b_defconfig
+++ b/configs/v38b_defconfig
@@ -10,6 +10,7 @@
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 CONFIG_MAC_PARTITION=y
 CONFIG_LED_STATUS=y
 CONFIG_LED_STATUS0=y
diff --git a/configs/walnut_defconfig b/configs/walnut_defconfig
index 6880ae8..1e660ab 100644
--- a/configs/walnut_defconfig
+++ b/configs/walnut_defconfig
@@ -15,6 +15,7 @@
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_SNTP=y
+CONFIG_CMD_DIAG=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_SYS_NS16550=y
diff --git a/configs/xilinx-ppc405-generic_defconfig b/configs/xilinx-ppc405-generic_defconfig
index b109be5..6aa049c 100644
--- a/configs/xilinx-ppc405-generic_defconfig
+++ b/configs/xilinx-ppc405-generic_defconfig
@@ -18,6 +18,7 @@
 # CONFIG_CMD_NET is not set
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_CACHE=y
+CONFIG_CMD_DIAG=y
 CONFIG_OF_EMBED=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
diff --git a/configs/xilinx-ppc440-generic_defconfig b/configs/xilinx-ppc440-generic_defconfig
index 723da69..c9a1e2b 100644
--- a/configs/xilinx-ppc440-generic_defconfig
+++ b/configs/xilinx-ppc440-generic_defconfig
@@ -17,6 +17,7 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
+CONFIG_CMD_DIAG=y
 CONFIG_OF_EMBED=y
 CONFIG_NETCONSOLE=y
 # CONFIG_MMC is not set
diff --git a/configs/xtfpga_defconfig b/configs/xtfpga_defconfig
index bb63e56..c797c25 100644
--- a/configs/xtfpga_defconfig
+++ b/configs/xtfpga_defconfig
@@ -10,6 +10,7 @@
 CONFIG_CMD_ASKENV=y
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_PING=y
+CONFIG_CMD_DIAG=y
 CONFIG_DM=y
 # CONFIG_DM_WARN is not set
 # CONFIG_DM_DEVICE_REMOVE is not set
diff --git a/configs/yellowstone_defconfig b/configs/yellowstone_defconfig
index 8331a2d..1eb3eef 100644
--- a/configs/yellowstone_defconfig
+++ b/configs/yellowstone_defconfig
@@ -16,6 +16,7 @@
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
+CONFIG_CMD_DIAG=y
 CONFIG_MAC_PARTITION=y
 CONFIG_DOS_PARTITION=y
 CONFIG_ISO_PARTITION=y
diff --git a/configs/yosemite_defconfig b/configs/yosemite_defconfig
index f185a4c..237a7ca 100644
--- a/configs/yosemite_defconfig
+++ b/configs/yosemite_defconfig
@@ -19,6 +19,7 @@
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_FAT=y
+CONFIG_CMD_DIAG=y
 CONFIG_MAC_PARTITION=y
 CONFIG_ISO_PARTITION=y
 # CONFIG_MMC is not set
diff --git a/configs/yucca_defconfig b/configs/yucca_defconfig
index 68ce67c..10fbafc 100644
--- a/configs/yucca_defconfig
+++ b/configs/yucca_defconfig
@@ -15,6 +15,7 @@
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
+CONFIG_CMD_DIAG=y
 # CONFIG_MMC is not set
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_SYS_NS16550=y
diff --git a/include/config_cmd_all.h b/include/config_cmd_all.h
index d40e18f..39e02c2 100644
--- a/include/config_cmd_all.h
+++ b/include/config_cmd_all.h
@@ -14,7 +14,6 @@
  */
 
 #define CONFIG_CMD_DATE		/* support for RTC, date/time...*/
-#define CONFIG_CMD_DIAG		/* Diagnostics			*/
 #define CONFIG_CMD_DISPLAY	/* Display support		*/
 #define CONFIG_CMD_DTT		/* Digital Therm and Thermostat */
 #define CONFIG_CMD_EEPROM	/* EEPROM read/write support	*/
diff --git a/include/configs/TQM5200.h b/include/configs/TQM5200.h
index 0fdc62e..97c6cbf 100644
--- a/include/configs/TQM5200.h
+++ b/include/configs/TQM5200.h
@@ -165,10 +165,6 @@
     #define CONFIG_CFG_FAT
 #endif
 
-#ifdef CONFIG_POST
-    #define CONFIG_CMD_DIAG
-#endif
-
 #define	CONFIG_TIMESTAMP		/* display image timestamps */
 
 #if (CONFIG_SYS_TEXT_BASE != 0xFFF00000)
diff --git a/include/configs/amcc-common.h b/include/configs/amcc-common.h
index 0f0fe4b..0140664 100644
--- a/include/configs/amcc-common.h
+++ b/include/configs/amcc-common.h
@@ -51,7 +51,6 @@
  */
 #if defined(CONFIG_440)
 #endif
-#define CONFIG_CMD_DIAG
 #define CONFIG_CMD_EEPROM
 #define CONFIG_CMD_IRQ
 #define CONFIG_CMD_REGINFO
diff --git a/include/configs/amcore.h b/include/configs/amcore.h
index 06d08d4..acae691 100644
--- a/include/configs/amcore.h
+++ b/include/configs/amcore.h
@@ -30,8 +30,6 @@
 		"erase 0xfff00000 0xffffffff; "			\
 		"cp.b 0x20000 0xfff00000 ${filesize}\0"
 
-#define CONFIG_CMD_DIAG
-
 /* undef to save memory	*/
 #undef	CONFIG_SYS_LONGHELP
 
diff --git a/include/configs/calimain.h b/include/configs/calimain.h
index a4ff1e8..425a38f 100644
--- a/include/configs/calimain.h
+++ b/include/configs/calimain.h
@@ -301,7 +301,6 @@
  * U-Boot commands
  */
 #define CONFIG_CMD_ENV
-#define CONFIG_CMD_DIAG
 #define CONFIG_CMD_SAVES
 
 #ifndef CONFIG_DRIVER_TI_EMAC
diff --git a/include/configs/cm5200.h b/include/configs/cm5200.h
index 89a2d22..9d0cb52 100644
--- a/include/configs/cm5200.h
+++ b/include/configs/cm5200.h
@@ -22,7 +22,6 @@
  * Supported commands
  */
 #define CONFIG_CMD_DATE
-#define CONFIG_CMD_DIAG
 #define CONFIG_CMD_JFFS2
 #define CONFIG_CMD_REGINFO
 
diff --git a/include/configs/da850evm.h b/include/configs/da850evm.h
index 3ce9058..9442c05 100644
--- a/include/configs/da850evm.h
+++ b/include/configs/da850evm.h
@@ -274,7 +274,6 @@
  * U-Boot commands
  */
 #define CONFIG_CMD_ENV
-#define CONFIG_CMD_DIAG
 #define CONFIG_CMD_SAVES
 
 #ifdef CONFIG_CMD_BDI
diff --git a/include/configs/digsy_mtc.h b/include/configs/digsy_mtc.h
index 00578f0..f08a485 100644
--- a/include/configs/digsy_mtc.h
+++ b/include/configs/digsy_mtc.h
@@ -86,7 +86,6 @@
  * Command line configuration.
  */
 #define CONFIG_CMD_DATE
-#define CONFIG_CMD_DIAG
 #define CONFIG_CMD_EEPROM
 #define CONFIG_CMD_IDE
 #define CONFIG_CMD_IRQ
diff --git a/include/configs/dlvision-10g.h b/include/configs/dlvision-10g.h
index 6b3cd15..e32651f 100644
--- a/include/configs/dlvision-10g.h
+++ b/include/configs/dlvision-10g.h
@@ -58,7 +58,6 @@
  * Commands additional to the ones defined in amcc-common.h
  */
 #define CONFIG_CMD_DTT
-#undef CONFIG_CMD_DIAG
 #undef CONFIG_CMD_EEPROM
 #undef CONFIG_CMD_IRQ
 
diff --git a/include/configs/dlvision.h b/include/configs/dlvision.h
index 6269768..2b7d62b 100644
--- a/include/configs/dlvision.h
+++ b/include/configs/dlvision.h
@@ -56,7 +56,6 @@
  * Commands additional to the ones defined in amcc-common.h
  */
 #define CONFIG_CMD_DTT
-#undef CONFIG_CMD_DIAG
 #undef CONFIG_CMD_EEPROM
 #undef CONFIG_CMD_IRQ
 
diff --git a/include/configs/ea20.h b/include/configs/ea20.h
index 84085dc..7510071 100644
--- a/include/configs/ea20.h
+++ b/include/configs/ea20.h
@@ -130,7 +130,6 @@
  * U-Boot commands
  */
 #define CONFIG_CMD_ENV
-#define CONFIG_CMD_DIAG
 #define CONFIG_CMD_SAVES
 
 #ifdef CONFIG_CMD_BDI
diff --git a/include/configs/imx27lite-common.h b/include/configs/imx27lite-common.h
index db745b2..b8a867c 100644
--- a/include/configs/imx27lite-common.h
+++ b/include/configs/imx27lite-common.h
@@ -159,7 +159,6 @@
 /*
  * U-Boot commands
  */
-#define CONFIG_CMD_DIAG
 #define CONFIG_CMD_JFFS2
 #define CONFIG_CMD_NAND
 
diff --git a/include/configs/io.h b/include/configs/io.h
index 8a21b3f..3e44a8c 100644
--- a/include/configs/io.h
+++ b/include/configs/io.h
@@ -58,7 +58,6 @@
  * Commands additional to the ones defined in amcc-common.h
  */
 #define CONFIG_CMD_DTT
-#undef CONFIG_CMD_DIAG
 #undef CONFIG_CMD_EEPROM
 #undef CONFIG_CMD_IRQ
 
diff --git a/include/configs/ipam390.h b/include/configs/ipam390.h
index 41e7dca..5caf02e 100644
--- a/include/configs/ipam390.h
+++ b/include/configs/ipam390.h
@@ -242,7 +242,6 @@
  * U-Boot commands
  */
 #define CONFIG_CMD_ENV
-#define CONFIG_CMD_DIAG
 #define CONFIG_CMD_SAVES
 
 #ifdef CONFIG_CMD_BDI
diff --git a/include/configs/km/km8309-common.h b/include/configs/km/km8309-common.h
index 0fe89af..f9fed79 100644
--- a/include/configs/km/km8309-common.h
+++ b/include/configs/km/km8309-common.h
@@ -19,7 +19,6 @@
 #define CONFIG_MPC8309		1	/* MPC8309 CPU specific */
 
 #define CONFIG_KM_DEF_ARCH	"arch=ppc_82xx\0"
-#define CONFIG_CMD_DIAG		1
 
 /* include common defines/options for all 83xx Keymile boards */
 #include "km83xx-common.h"
diff --git a/include/configs/km/km_arm.h b/include/configs/km/km_arm.h
index c44ab36..0c5f6e7 100644
--- a/include/configs/km/km_arm.h
+++ b/include/configs/km/km_arm.h
@@ -310,7 +310,6 @@
 #define CONFIG_POST	(CONFIG_SYS_POST_MEM_REGIONS)
 #define CONFIG_POST_SKIP_ENV_FLAGS
 #define CONFIG_POST_EXTERNAL_WORD_FUNCS
-#define CONFIG_CMD_DIAG
 
 /* we do the whole PCIe FPGA config stuff here */
 
diff --git a/include/configs/km8360.h b/include/configs/km8360.h
index 6fa4e63..3104a8f 100644
--- a/include/configs/km8360.h
+++ b/include/configs/km8360.h
@@ -270,7 +270,6 @@
 #define CPM_POST_WORD_ADDR  CONFIG_SYS_MEMTEST_END
 #define CONFIG_TESTPIN_REG  gprt3	/* for kmcoge5ne */
 #define CONFIG_TESTPIN_MASK 0x20	/* for kmcoge5ne */
-#define CONFIG_CMD_DIAG	/* so that testpin is inquired for POST test */
 
 #else
 #define CONFIG_SYS_IBAT6L	(0)
diff --git a/include/configs/legoev3.h b/include/configs/legoev3.h
index 07f42e3..c5e7d62 100644
--- a/include/configs/legoev3.h
+++ b/include/configs/legoev3.h
@@ -201,7 +201,6 @@
 /*
  * U-Boot commands
  */
-#define CONFIG_CMD_DIAG
 #define CONFIG_CMD_SAVES
 
 #ifdef CONFIG_CMD_BDI
diff --git a/include/configs/lwmon5.h b/include/configs/lwmon5.h
index 3674234..7e63414 100644
--- a/include/configs/lwmon5.h
+++ b/include/configs/lwmon5.h
@@ -383,7 +383,6 @@
  * Command line configuration.
  */
 #define CONFIG_CMD_DATE
-#define CONFIG_CMD_DIAG
 #define CONFIG_CMD_EEPROM
 #define CONFIG_CMD_IRQ
 #define CONFIG_CMD_REGINFO
diff --git a/include/configs/neo.h b/include/configs/neo.h
index f6b4cc0..9115e25 100644
--- a/include/configs/neo.h
+++ b/include/configs/neo.h
@@ -58,7 +58,6 @@
  * Commands additional to the ones defined in amcc-common.h
  */
 #define CONFIG_CMD_DTT
-#undef CONFIG_CMD_DIAG
 #undef CONFIG_CMD_EEPROM
 #undef CONFIG_CMD_IRQ
 
diff --git a/include/configs/o2dnt-common.h b/include/configs/o2dnt-common.h
index 1470c51..e2881a7 100644
--- a/include/configs/o2dnt-common.h
+++ b/include/configs/o2dnt-common.h
@@ -72,9 +72,6 @@
 #ifdef CONFIG_PCI
 #define CONFIG_CMD_PCI
 #endif
-#ifdef CONFIG_POST
-#define CONFIG_CMD_DIAG
-#endif
 
 #if (CONFIG_SYS_TEXT_BASE == 0xFC000000) || (CONFIG_SYS_TEXT_BASE == 0xFF000000)
 /* Boot low with 16 or 32 MB Flash */
diff --git a/include/configs/omapl138_lcdk.h b/include/configs/omapl138_lcdk.h
index 9d90e46..4efddb6 100644
--- a/include/configs/omapl138_lcdk.h
+++ b/include/configs/omapl138_lcdk.h
@@ -286,7 +286,6 @@
  * U-Boot commands
  */
 #define CONFIG_CMD_ENV
-#define CONFIG_CMD_DIAG
 #define CONFIG_CMD_SAVES
 #ifdef CONFIG_CMD_BDI
 #define CONFIG_CLOCKS
diff --git a/include/configs/pengwyn.h b/include/configs/pengwyn.h
index b8fb371..cdfaf7c 100644
--- a/include/configs/pengwyn.h
+++ b/include/configs/pengwyn.h
@@ -155,8 +155,6 @@
 
 #define CONFIG_CMD_MTDPARTS
 
-#define CONFIG_CMD_DIAG /* monitor functions : Diagnostics */
-
 #define MTDIDS_DEFAULT			"nand0=omap2-nand.0"
 /* Size must be a multiple of Nand erase size (524288 b) */
 #define MTDPARTS_DEFAULT		"mtdparts=omap2-nand.0:512k(SPL)," \
diff --git a/include/configs/v38b.h b/include/configs/v38b.h
index dc7186c..8e3746f 100644
--- a/include/configs/v38b.h
+++ b/include/configs/v38b.h
@@ -74,7 +74,6 @@
  * Command line configuration.
  */
 #define CONFIG_CMD_IDE
-#define CONFIG_CMD_DIAG
 #define CONFIG_CMD_IRQ
 #define CONFIG_CMD_JFFS2
 #define CONFIG_CMD_SDRAM
diff --git a/include/configs/xilinx-ppc.h b/include/configs/xilinx-ppc.h
index 2afc645..ea4b739 100644
--- a/include/configs/xilinx-ppc.h
+++ b/include/configs/xilinx-ppc.h
@@ -24,7 +24,6 @@
 #define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + 128 * 1024)
 
 /*Cmd*/
-#define CONFIG_CMD_DIAG
 #define CONFIG_CMD_IRQ
 #define CONFIG_CMD_REGINFO
 #undef CONFIG_CMD_JFFS2
diff --git a/include/configs/xtfpga.h b/include/configs/xtfpga.h
index b1aa579..7b15f31 100644
--- a/include/configs/xtfpga.h
+++ b/include/configs/xtfpga.h
@@ -127,7 +127,6 @@
 /* U-Boot commands */
 /*=================*/
 
-#define CONFIG_CMD_DIAG
 #define CONFIG_CMD_SAVES
 
 /*==============================*/
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index 08f5d9c..2ad4e08 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -394,7 +394,6 @@
 CONFIG_CMDLINE_PS_SUPPORT
 CONFIG_CMDLINE_TAG
 CONFIG_CMD_DATE
-CONFIG_CMD_DIAG
 CONFIG_CMD_DISPLAY
 CONFIG_CMD_DS4510
 CONFIG_CMD_DS4510_INFO