Commit d9ea21a7 authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Greg Kroah-Hartman

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: default avatarArnd Bergmann <arnd@arndb.de>
Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
Cc: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 358e9117
...@@ -2,59 +2,15 @@ ...@@ -2,59 +2,15 @@
# USB device configuration # USB device configuration
# #
# many non-PCI SOC chips embed OHCI # These are unused now, remove them once they are no longer selected
config USB_ARCH_HAS_OHCI config USB_ARCH_HAS_OHCI
boolean bool
# 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
config USB_ARCH_HAS_EHCI config USB_ARCH_HAS_EHCI
boolean bool
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
config USB_ARCH_HAS_XHCI config USB_ARCH_HAS_XHCI
boolean bool
default PCI
menuconfig USB_SUPPORT menuconfig USB_SUPPORT
bool "USB support" bool "USB support"
...@@ -71,19 +27,8 @@ config USB_COMMON ...@@ -71,19 +27,8 @@ config USB_COMMON
default y default y
depends on USB || USB_GADGET 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 ...
config USB_ARCH_HAS_HCD config USB_ARCH_HAS_HCD
boolean def_bool y
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
# ARM SA1111 chips have a non-PCI based "OHCI-compatible" USB host interface. # ARM SA1111 chips have a non-PCI based "OHCI-compatible" USB host interface.
config USB config USB
......
...@@ -17,7 +17,6 @@ config USB_C67X00_HCD ...@@ -17,7 +17,6 @@ config USB_C67X00_HCD
config USB_XHCI_HCD config USB_XHCI_HCD
tristate "xHCI HCD (USB 3.0) support" tristate "xHCI HCD (USB 3.0) support"
depends on USB_ARCH_HAS_XHCI
---help--- ---help---
The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0 The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
"SuperSpeed" host controller hardware. "SuperSpeed" host controller hardware.
...@@ -43,7 +42,6 @@ endif # USB_XHCI_HCD ...@@ -43,7 +42,6 @@ endif # USB_XHCI_HCD
config USB_EHCI_HCD config USB_EHCI_HCD
tristate "EHCI HCD (USB 2.0) support" tristate "EHCI HCD (USB 2.0) support"
depends on USB_ARCH_HAS_EHCI
---help--- ---help---
The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0 The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
"high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware. "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
...@@ -358,7 +356,6 @@ config USB_FUSBH200_HCD ...@@ -358,7 +356,6 @@ config USB_FUSBH200_HCD
config USB_OHCI_HCD config USB_OHCI_HCD
tristate "OHCI HCD (USB 1.1) support" tristate "OHCI HCD (USB 1.1) support"
depends on USB_ARCH_HAS_OHCI
select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3 select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
depends on USB_ISP1301 || !ARCH_LPC32XX depends on USB_ISP1301 || !ARCH_LPC32XX
---help--- ---help---
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment