diff options
authorArnd Bergmann <>2013-06-04 17:42:22 (GMT)
committerChanho Park <>2014-04-16 12:36:54 (GMT)
commitd1504b69652507dbcd0ccae10b563464e41d4caf (patch)
parentbfd484ac25721f2e19f2678348e59284e774636c (diff)
usb: host: make USB_ARCH_HAS_?HCI obsolete
The three options USB_ARCH_HAS_{EHCI,OHCI,XHCI} are all well beyond their recommended shelf life. They have caused numerous build failures over the years because they are never completely correct, and with the move to splitting out the platform specific back-ends out of the driver, there is no real need for them any more. Also, the use of making USB_ARCH_HAS_HCD depend on it is questionable since one can always enable dummy_hc these days. This patch enables them unconditionally for all platforms and architectures, which means it is now possible to build host controller drivers for machines that are known not to come with this hardware, but that is just how we treat most other drivers. In order to minimise the impact on existing architecture code and defconfig files, all the Kconfig are left present for now. All platforms that currently do 'select USB_ARCH_HAS_*' should subsequently be changed not to select that. All drivers depending on USB_ARCH_HAS_HCD should be changed to depend on USB_SUPPORT instead. Signed-off-by: Arnd Bergmann <> Acked-by: Alan Stern <> Cc: Sarah Sharp <> Signed-off-by: Greg Kroah-Hartman <> Conflicts: drivers/usb/host/Kconfig Change-Id: I5b80b3f4617b192a06eed935bd39b666d3554fa6
2 files changed, 8 insertions, 66 deletions
diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
index 92e1dc9..73f62ca 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -2,59 +2,15 @@
# USB device configuration
-# many non-PCI SOC chips embed OHCI
+# These are unused now, remove them once they are no longer selected
- boolean
- # ARM:
- default y if SA1111
- default y if ARCH_OMAP
- default y if ARCH_S3C24XX
- default y if PXA27x
- default y if PXA3xx
- default y if ARCH_EP93XX
- default y if ARCH_AT91
- default y if MFD_TC6393XB
- default y if ARCH_W90X900
- default y if ARCH_DAVINCI_DA8XX
- default y if ARCH_CNS3XXX
- default y if PLAT_SPEAR
- default y if ARCH_EXYNOS
- # PPC:
- default y if STB03xxx
- default y if PPC_MPC52xx
- # MIPS:
- default y if MIPS_ALCHEMY
- default y if MACH_JZ4740
- # more:
- default PCI
-# some non-PCI hcds implement EHCI
+ bool
- boolean
- default y if FSL_SOC
- default y if PPC_MPC512x
- default y if ARCH_IXP4XX
- default y if ARCH_W90X900
- default y if ARCH_AT91
- default y if ARCH_MXC
- default y if ARCH_MXS
- default y if ARCH_OMAP3
- default y if ARCH_CNS3XXX
- default y if ARCH_VT8500
- default y if PLAT_SPEAR
- default y if PLAT_S5P
- default y if ARCH_MSM
- default y if MICROBLAZE
- default y if SPARC_LEON
- default y if ARCH_MMP
- default y if MACH_LOONGSON1
- default y if PLAT_ORION
- default PCI
-# some non-PCI HCDs implement xHCI
+ bool
- boolean
- default PCI
+ bool
menuconfig USB_SUPPORT
bool "USB support"
@@ -71,19 +27,8 @@ config USB_COMMON
default y
depends on USB || USB_GADGET
-# Host-side USB depends on having a host controller
-# NOTE: dummy_hcd is always an option, but it's ignored here ...
-# NOTE: SL-811 option should be board-specific ...
- boolean
- default y if USB_ARCH_HAS_OHCI
- default y if USB_ARCH_HAS_EHCI
- default y if USB_ARCH_HAS_XHCI
- default y if PCMCIA && !M32R # sl811_cs
- default y if ARM # SL-811
- default y if BLACKFIN # SL-811
- default y if SUPERH # r8a66597-hcd
- default PCI
+ def_bool y
# ARM SA1111 chips have a non-PCI based "OHCI-compatible" USB host interface.
config USB
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 344d5e2..90872d5 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -17,7 +17,6 @@ config USB_C67X00_HCD
tristate "xHCI HCD (USB 3.0) support"
- depends on USB_ARCH_HAS_XHCI
The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
"SuperSpeed" host controller hardware.
@@ -43,7 +42,6 @@ endif # USB_XHCI_HCD
tristate "EHCI HCD (USB 2.0) support"
- depends on USB_ARCH_HAS_EHCI
The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
"high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
@@ -346,8 +344,7 @@ config USB_ISP1362_HCD
module will be called isp1362-hcd.
- tristate "OHCI HCD support"
- depends on USB_ARCH_HAS_OHCI
+ tristate "OHCI HCD (USB 1.1) support"
select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
depends on USB_ISP1301 || !ARCH_LPC32XX