x86: Convert INTEL_ICH6_GPIO to Kconfig

This converts Intel ICH6 GPIO driver to Kconfig, and add it to the
imply list of platform drivers.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
diff --git a/arch/x86/cpu/baytrail/Kconfig b/arch/x86/cpu/baytrail/Kconfig
index 7ea43b9..052d77f 100644
--- a/arch/x86/cpu/baytrail/Kconfig
+++ b/arch/x86/cpu/baytrail/Kconfig
@@ -12,6 +12,7 @@
 	imply ENABLE_MRC_CACHE
 	imply ENV_IS_IN_SPI_FLASH
 	imply ICH_SPI
+	imply INTEL_ICH6_GPIO
 	imply MMC
 	imply MMC_PCI
 	imply MMC_SDHCI
diff --git a/arch/x86/cpu/ivybridge/Kconfig b/arch/x86/cpu/ivybridge/Kconfig
index 5630da0..7bac4c5 100644
--- a/arch/x86/cpu/ivybridge/Kconfig
+++ b/arch/x86/cpu/ivybridge/Kconfig
@@ -12,6 +12,7 @@
 	imply ENABLE_MRC_CACHE
 	imply ENV_IS_IN_SPI_FLASH
 	imply ICH_SPI
+	imply INTEL_ICH6_GPIO
 	imply SCSI
 	imply SPI_FLASH
 	imply USB
diff --git a/arch/x86/cpu/quark/Kconfig b/arch/x86/cpu/quark/Kconfig
index ce0c454..7ec46e9 100644
--- a/arch/x86/cpu/quark/Kconfig
+++ b/arch/x86/cpu/quark/Kconfig
@@ -13,6 +13,7 @@
 	imply ENV_IS_IN_SPI_FLASH
 	imply ETH_DESIGNWARE
 	imply ICH_SPI
+	imply INTEL_ICH6_GPIO
 	imply MMC
 	imply MMC_PCI
 	imply MMC_SDHCI
diff --git a/arch/x86/cpu/queensbay/Kconfig b/arch/x86/cpu/queensbay/Kconfig
index 9b9c756..80b6bc5 100644
--- a/arch/x86/cpu/queensbay/Kconfig
+++ b/arch/x86/cpu/queensbay/Kconfig
@@ -11,6 +11,7 @@
 	select ARCH_EARLY_INIT_R
 	imply ENV_IS_IN_SPI_FLASH
 	imply ICH_SPI
+	imply INTEL_ICH6_GPIO
 	imply MMC
 	imply MMC_PCI
 	imply MMC_SDHCI
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index 15135e5..63951e0 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -67,6 +67,12 @@
 	  driver from the common Intel ICH6 driver. It supports a total of
 	  95 GPIOs which can be configured from the device tree.
 
+config INTEL_ICH6_GPIO
+	bool "Intel ICH6 compatible legacy GPIO driver"
+	depends on DM_GPIO
+	help
+	  Say yes here to select Intel ICH6 compatible legacy GPIO driver.
+
 config IMX_RGPIO2P
 	bool "i.MX7ULP RGPIO2P driver"
 	depends on DM
diff --git a/include/configs/efi-x86.h b/include/configs/efi-x86.h
index f533191..4a6b665 100644
--- a/include/configs/efi-x86.h
+++ b/include/configs/efi-x86.h
@@ -14,7 +14,6 @@
 #undef CONFIG_TPM_TIS_BASE_ADDRESS
 
 #undef CONFIG_SCSI_AHCI
-#undef CONFIG_INTEL_ICH6_GPIO
 #undef CONFIG_USB_EHCI_PCI
 
 #define CONFIG_STD_DEVICES_SETTINGS     "stdin=usbkbd,vga,serial\0" \
diff --git a/include/configs/qemu-x86.h b/include/configs/qemu-x86.h
index 64cbc80..033b5e2 100644
--- a/include/configs/qemu-x86.h
+++ b/include/configs/qemu-x86.h
@@ -44,9 +44,6 @@
 	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH9_AHCI}
 #endif
 
-/* GPIO is not supported */
-#undef CONFIG_INTEL_ICH6_GPIO
-
 /* SPI is not supported */
 
 #define CONFIG_SPL_FRAMEWORK
diff --git a/include/configs/x86-common.h b/include/configs/x86-common.h
index aa1e505..a70fc9d 100644
--- a/include/configs/x86-common.h
+++ b/include/configs/x86-common.h
@@ -63,9 +63,6 @@
 
 #define CONFIG_SUPPORT_VFAT
 
-/* x86 GPIOs are accessed through a PCI device */
-#define CONFIG_INTEL_ICH6_GPIO
-
 /*-----------------------------------------------------------------------
  * Command line configuration.
  */
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index 3c7e495..e630314 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -1154,7 +1154,6 @@
 CONFIG_INI_MAX_NAME
 CONFIG_INI_MAX_SECTION
 CONFIG_INTEGRITY
-CONFIG_INTEL_ICH6_GPIO
 CONFIG_INTERRUPTS
 CONFIG_IO
 CONFIG_IO64