Convert CONFIG_KEYBOARD to Kconfig

This converts the following to Kconfig:
   CONFIG_KEYBOARD

Signed-off-by: Simon Glass <sjg@chromium.org>
diff --git a/README b/README
index 27e0b07..05b0d3f 100644
--- a/README
+++ b/README
@@ -1063,14 +1063,6 @@
 - Keyboard Support:
 		See Kconfig help for available keyboard drivers.
 
-		CONFIG_KEYBOARD
-
-		Define this to enable a custom keyboard support.
-		This simply calls drv_keyboard_init() which must be
-		defined in your board-specific files. This option is deprecated
-		and is only used by novena. For new boards, use driver model
-		instead.
-
 - Video support:
 		CONFIG_FSL_DIU_FB
 		Enable the Freescale DIU video driver.	Reference boards for
diff --git a/arch/Kconfig b/arch/Kconfig
index 3e2cc84..fffddac 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -194,6 +194,7 @@
 	imply PHY_FIXED
 	imply DM_DSA
 	imply CMD_EXTENSION
+	imply KEYBOARD
 
 config SH
 	bool "SuperH architecture"
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 7f3aee5..10301c1 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -23,6 +23,7 @@
 	imply CMD_HASH
 	imply CRC32_VERIFY
 	imply HASH_VERIFY
+	imply KEYBOARD
 	imply USB_ETHER_ASIX
 	imply USB_ETHER_RTL8152
 	imply USB_ETHER_SMSC95XX
diff --git a/configs/chromebit_mickey_defconfig b/configs/chromebit_mickey_defconfig
index 80ed1f0..62b54d9 100644
--- a/configs/chromebit_mickey_defconfig
+++ b/configs/chromebit_mickey_defconfig
@@ -61,6 +61,7 @@
 CONFIG_SYS_I2C_ROCKCHIP=y
 CONFIG_I2C_MUX=y
 CONFIG_DM_KEYBOARD=y
+CONFIG_KEYBOARD=y
 CONFIG_CROS_EC_KEYB=y
 CONFIG_CROS_EC=y
 CONFIG_CROS_EC_SPI=y
diff --git a/configs/chromebook_jerry_defconfig b/configs/chromebook_jerry_defconfig
index 85f6120..a9f81e3 100644
--- a/configs/chromebook_jerry_defconfig
+++ b/configs/chromebook_jerry_defconfig
@@ -63,6 +63,7 @@
 CONFIG_SYS_I2C_ROCKCHIP=y
 CONFIG_I2C_MUX=y
 CONFIG_DM_KEYBOARD=y
+CONFIG_KEYBOARD=y
 CONFIG_CROS_EC_KEYB=y
 CONFIG_CROS_EC=y
 CONFIG_CROS_EC_SPI=y
diff --git a/configs/chromebook_minnie_defconfig b/configs/chromebook_minnie_defconfig
index 41a3fe1..1e87b11 100644
--- a/configs/chromebook_minnie_defconfig
+++ b/configs/chromebook_minnie_defconfig
@@ -63,6 +63,7 @@
 CONFIG_SYS_I2C_ROCKCHIP=y
 CONFIG_I2C_MUX=y
 CONFIG_DM_KEYBOARD=y
+CONFIG_KEYBOARD=y
 CONFIG_CROS_EC_KEYB=y
 CONFIG_CROS_EC=y
 CONFIG_CROS_EC_SPI=y
diff --git a/configs/chromebook_speedy_defconfig b/configs/chromebook_speedy_defconfig
index b396d9f..f1ccdc4 100644
--- a/configs/chromebook_speedy_defconfig
+++ b/configs/chromebook_speedy_defconfig
@@ -62,6 +62,7 @@
 CONFIG_SYS_I2C_ROCKCHIP=y
 CONFIG_I2C_MUX=y
 CONFIG_DM_KEYBOARD=y
+CONFIG_KEYBOARD=y
 CONFIG_CROS_EC_KEYB=y
 CONFIG_CROS_EC=y
 CONFIG_CROS_EC_SPI=y
diff --git a/configs/novena_defconfig b/configs/novena_defconfig
index 06864db..e40e80e 100644
--- a/configs/novena_defconfig
+++ b/configs/novena_defconfig
@@ -60,6 +60,7 @@
 CONFIG_SYS_I2C_LEGACY=y
 CONFIG_SPL_SYS_I2C_LEGACY=y
 CONFIG_SYS_I2C_MXC=y
+CONFIG_KEYBOARD=y
 CONFIG_FSL_USDHC=y
 CONFIG_PHYLIB=y
 CONFIG_PHY_MICREL=y
diff --git a/configs/smdk5250_defconfig b/configs/smdk5250_defconfig
index 9429114..f8350bf 100644
--- a/configs/smdk5250_defconfig
+++ b/configs/smdk5250_defconfig
@@ -43,6 +43,7 @@
 CONFIG_ENV_SPI_BUS=1
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_I2C_S3C24X0=y
+# CONFIG_KEYBOARD is not set
 CONFIG_SUPPORT_EMMC_BOOT=y
 CONFIG_MMC_DW=y
 CONFIG_MMC_SDHCI=y
diff --git a/configs/smdk5420_defconfig b/configs/smdk5420_defconfig
index e62f432..a9924a4 100644
--- a/configs/smdk5420_defconfig
+++ b/configs/smdk5420_defconfig
@@ -38,6 +38,7 @@
 CONFIG_ENV_SPI_BUS=1
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_I2C_S3C24X0=y
+# CONFIG_KEYBOARD is not set
 CONFIG_SUPPORT_EMMC_BOOT=y
 CONFIG_MMC_DW=y
 CONFIG_MMC_SDHCI=y
diff --git a/drivers/input/Kconfig b/drivers/input/Kconfig
index a17e55e..0b753f3 100644
--- a/drivers/input/Kconfig
+++ b/drivers/input/Kconfig
@@ -38,6 +38,15 @@
 	  includes methods to start/stop the device, check for available
 	  input and update LEDs if the keyboard has them.
 
+config KEYBOARD
+	bool "Enable legacy keyboard support (deprecated)"
+	help
+	  Enable this to enable a custom keyboard support.
+	  This simply calls drv_keyboard_init() which must be
+	  defined in your board-specific files. This option is deprecated
+	  and is only used by novena. For new boards, use driver model
+	  instead.
+
 config CROS_EC_KEYB
 	bool "Enable Chrome OS EC keyboard support"
 	depends on INPUT
diff --git a/include/configs/exynos5-dt-common.h b/include/configs/exynos5-dt-common.h
index cc9ffda..00b6778 100644
--- a/include/configs/exynos5-dt-common.h
+++ b/include/configs/exynos5-dt-common.h
@@ -30,7 +30,4 @@
 #define LCD_BPP			LCD_COLOR16
 #endif
 
-/* Enable keyboard */
-#define CONFIG_KEYBOARD
-
 #endif
diff --git a/include/configs/novena.h b/include/configs/novena.h
index 28fb1b8..f09b868 100644
--- a/include/configs/novena.h
+++ b/include/configs/novena.h
@@ -9,7 +9,6 @@
 #define __CONFIG_H
 
 /* System configurations */
-#define CONFIG_KEYBOARD
 
 #include "mx6_common.h"
 
diff --git a/include/configs/sandbox.h b/include/configs/sandbox.h
index fd972b8..d0adcfd 100644
--- a/include/configs/sandbox.h
+++ b/include/configs/sandbox.h
@@ -40,14 +40,6 @@
 #define CONFIG_SANDBOX_SDL
 #endif
 
-/* LCD and keyboard require SDL support */
-#ifdef CONFIG_SANDBOX_SDL
-#define LCD_BPP			LCD_COLOR16
-#define CONFIG_LCD_BMP_RLE8
-
-#define CONFIG_KEYBOARD
-#endif
-
 #ifndef CONFIG_SPL_BUILD
 #define CONFIG_SYS_IDE_MAXBUS		1
 #define CONFIG_SYS_ATA_IDE0_OFFSET	0
diff --git a/include/configs/smdk5250.h b/include/configs/smdk5250.h
index 3af1367..d7e86f2 100644
--- a/include/configs/smdk5250.h
+++ b/include/configs/smdk5250.h
@@ -14,7 +14,6 @@
 
 #undef CONFIG_EXYNOS_FB
 #undef CONFIG_EXYNOS_DP
-#undef CONFIG_KEYBOARD
 
 #define CONFIG_BOARD_COMMON
 
diff --git a/include/configs/smdk5420.h b/include/configs/smdk5420.h
index d06dfe4..38691b6 100644
--- a/include/configs/smdk5420.h
+++ b/include/configs/smdk5420.h
@@ -15,8 +15,6 @@
 #undef CONFIG_EXYNOS_FB
 #undef CONFIG_EXYNOS_DP
 
-#undef CONFIG_KEYBOARD
-
 #define CONFIG_BOARD_COMMON
 
 #define CONFIG_SMDK5420			/* which is in a SMDK5420 */
diff --git a/include/configs/veyron.h b/include/configs/veyron.h
index 2ab6d6c..ce9441d 100644
--- a/include/configs/veyron.h
+++ b/include/configs/veyron.h
@@ -13,6 +13,4 @@
 
 #include <configs/rk3288_common.h>
 
-#define CONFIG_KEYBOARD
-
 #endif
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index a8c3a38..d376216 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -641,7 +641,6 @@
 CONFIG_JRSTARTR_JR0
 CONFIG_JTAG_CONSOLE
 CONFIG_KEEP_SERVERADDR
-CONFIG_KEYBOARD
 CONFIG_KEY_REVOCATION
 CONFIG_KIRKWOOD_EGIGA_INIT
 CONFIG_KIRKWOOD_GPIO