From 2b58e1b76d2630f67e642a273f0975a11ead428d Mon Sep 17 00:00:00 2001
From: Masahiro Yamada <yamada.masahiro@socionext.com>
Date: Mon, 1 Aug 2016 00:16:34 +0900
Subject: [PATCH] usb: add (move) CONFIG_USB_HOST to Kconfig

The meaning of CONFIG_USB in U-Boot is different from that in Linux.

As you see in drivers/usb/Kconfig of Linux, CONFIG_USB enables the
USB host controller support, while CONFIG_USB_SUPPORT is used to
enable the whole of the USB sub-system.

When I added CONFIG_USB into Kconfig by commit 6e7e9294d321 ("usb:
add basic USB configs in Kconfig"), I planned to follow the Linux's
convention, i.e. CONFIG_USB to enable/disable the USB host support.

Then, commit 68f7c5db2d1e ("usb: Generic USB Kconfig option, that
fits both host and gadget and comments") changed the logic of the
CONFIG_USB to point to the whole of the USB sub-system.  As a result,
currently we do not have an option for USB host.

This commit adds CONFIG_USB_HOST, which will be useful to compile
in the USB host support code.

CONFIG_USB_HOST is not referenced at all, but strangely some boards
define it in board headers.  I removed them because USB_HOST will be
selected in Kconfig going forward.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---
 drivers/usb/host/Kconfig      | 7 +++++++
 include/configs/am43xx_evm.h  | 1 -
 include/configs/am57xx_evm.h  | 1 -
 include/configs/cm_t43.h      | 1 -
 include/configs/cm_t54.h      | 1 -
 include/configs/dra7xx_evm.h  | 1 -
 include/configs/duovero.h     | 1 -
 include/configs/omap4_panda.h | 1 -
 include/configs/omap5_uevm.h  | 1 -
 9 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 7f562d1e5bf..31eec0a9e00 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -3,8 +3,12 @@
 #
 comment "USB Host Controller Drivers"
 
+config USB_HOST
+	bool
+
 config USB_XHCI_HCD
 	bool "xHCI HCD (USB 3.0) support"
+	select USB_HOST
 	---help---
 	  The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
 	  "SuperSpeed" host controller hardware.
@@ -28,6 +32,7 @@ endif # USB_XHCI_HCD
 
 config USB_EHCI_HCD
 	bool "EHCI HCD (USB 2.0) support"
+	select USB_HOST
 	---help---
 	  The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
 	  "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
@@ -128,6 +133,7 @@ config USB_OHCI_GENERIC
 	bool "Support for generic OHCI USB controller"
 	depends on OF_CONTROL
 	depends on DM_USB
+	select USB_HOST
 	---help---
 	  Enables support for generic OHCI controller.
 
@@ -135,6 +141,7 @@ endif # USB_OHCI_HCD
 
 config USB_UHCI_HCD
 	bool "UHCI HCD (most Intel and VIA) support"
+	select USB_HOST
 	---help---
 	  The Universal Host Controller Interface is a standard by Intel for
 	  accessing the USB hardware in the PC (which is also called the USB
diff --git a/include/configs/am43xx_evm.h b/include/configs/am43xx_evm.h
index 361704bfd47..0467953566c 100644
--- a/include/configs/am43xx_evm.h
+++ b/include/configs/am43xx_evm.h
@@ -98,7 +98,6 @@
 
 #if defined(CONFIG_SPL_USB_HOST_SUPPORT) || !defined(CONFIG_SPL_BUILD)
 #define CONFIG_SYS_USB_FAT_BOOT_PARTITION		1
-#define CONFIG_USB_HOST
 #define CONFIG_USB_XHCI_OMAP
 #define CONFIG_USB_STORAGE
 #define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS 2
diff --git a/include/configs/am57xx_evm.h b/include/configs/am57xx_evm.h
index 083886ba262..46e8d4cfd71 100644
--- a/include/configs/am57xx_evm.h
+++ b/include/configs/am57xx_evm.h
@@ -63,7 +63,6 @@
 #define CONFIG_SUPPORT_EMMC_BOOT
 
 /* USB xHCI HOST */
-#define CONFIG_USB_HOST
 #define CONFIG_USB_XHCI_OMAP
 #define CONFIG_USB_STORAGE
 #define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS 2
diff --git a/include/configs/cm_t43.h b/include/configs/cm_t43.h
index 9bb975a4b5b..5d94f133cba 100644
--- a/include/configs/cm_t43.h
+++ b/include/configs/cm_t43.h
@@ -60,7 +60,6 @@
 #define CONFIG_SYS_RX_ETH_BUFFER	64
 
 /* USB support */
-#define CONFIG_USB_HOST
 #define CONFIG_USB_XHCI_OMAP
 #define CONFIG_USB_STORAGE
 #define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS 2
diff --git a/include/configs/cm_t54.h b/include/configs/cm_t54.h
index 68851ee90fd..8e9444e012c 100644
--- a/include/configs/cm_t54.h
+++ b/include/configs/cm_t54.h
@@ -69,7 +69,6 @@
 #define CONFIG_SYS_SCSI_MAX_DEVICE	(CONFIG_SYS_SCSI_MAX_SCSI_ID * \
 						CONFIG_SYS_SCSI_MAX_LUN)
 /* USB UHH support options */
-#define CONFIG_USB_HOST
 #define CONFIG_USB_EHCI
 #define CONFIG_USB_EHCI_OMAP
 #define CONFIG_USB_STORAGE
diff --git a/include/configs/dra7xx_evm.h b/include/configs/dra7xx_evm.h
index 10f6039539f..b66949f4155 100644
--- a/include/configs/dra7xx_evm.h
+++ b/include/configs/dra7xx_evm.h
@@ -209,7 +209,6 @@
 #define CONFIG_SUPPORT_EMMC_BOOT
 
 /* USB xHCI HOST */
-#define CONFIG_USB_HOST
 #define CONFIG_USB_XHCI_OMAP
 #define CONFIG_USB_STORAGE
 #define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS 2
diff --git a/include/configs/duovero.h b/include/configs/duovero.h
index 98afe27287d..299c0d58c76 100644
--- a/include/configs/duovero.h
+++ b/include/configs/duovero.h
@@ -29,7 +29,6 @@
 #define CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS
 
 /* USB UHH support options */
-#define CONFIG_USB_HOST
 #define CONFIG_USB_EHCI
 #define CONFIG_USB_EHCI_OMAP
 #define CONFIG_USB_STORAGE
diff --git a/include/configs/omap4_panda.h b/include/configs/omap4_panda.h
index 0d62ccd2fe4..ffa22c3b9e7 100644
--- a/include/configs/omap4_panda.h
+++ b/include/configs/omap4_panda.h
@@ -17,7 +17,6 @@
  */
 
 /* USB UHH support options */
-#define CONFIG_USB_HOST
 #define CONFIG_USB_EHCI
 #define CONFIG_USB_EHCI_OMAP
 #define CONFIG_USB_STORAGE
diff --git a/include/configs/omap5_uevm.h b/include/configs/omap5_uevm.h
index 4ddc4921126..2bf955a7a32 100644
--- a/include/configs/omap5_uevm.h
+++ b/include/configs/omap5_uevm.h
@@ -88,7 +88,6 @@
 #define CONFIG_SYS_I2C_TCA642X_ADDR 0x22
 
 /* USB UHH support options */
-#define CONFIG_USB_HOST
 #define CONFIG_USB_EHCI
 #define CONFIG_USB_EHCI_OMAP
 #define CONFIG_USB_STORAGE
-- 
GitLab