aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2013-06-04 13:42:22 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-06-06 14:16:44 -0400
commitd9ea21a779278da06d0cbe989594bf542ed213d7 (patch)
tree5a9e6da43b348c7819b34aa2ce4d79486d917752
parent358e91175cac9398b152ad9adc2391ebce34011c (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 <arnd@arndb.de> Acked-by: Alan Stern <stern@rowland.harvard.edu> Cc: Sarah Sharp <sarah.a.sharp@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/usb/Kconfig69
-rw-r--r--drivers/usb/host/Kconfig3
2 files changed, 7 insertions, 65 deletions
diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
index 92e1dc94ecc8..73f62caa8609 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -2,59 +2,15 @@
2# USB device configuration 2# USB device configuration
3# 3#
4 4
5# many non-PCI SOC chips embed OHCI 5# These are unused now, remove them once they are no longer selected
6config USB_ARCH_HAS_OHCI 6config USB_ARCH_HAS_OHCI
7 boolean 7 bool
8 # ARM: 8
9 default y if SA1111
10 default y if ARCH_OMAP
11 default y if ARCH_S3C24XX
12 default y if PXA27x
13 default y if PXA3xx
14 default y if ARCH_EP93XX
15 default y if ARCH_AT91
16 default y if MFD_TC6393XB
17 default y if ARCH_W90X900
18 default y if ARCH_DAVINCI_DA8XX
19 default y if ARCH_CNS3XXX
20 default y if PLAT_SPEAR
21 default y if ARCH_EXYNOS
22 # PPC:
23 default y if STB03xxx
24 default y if PPC_MPC52xx
25 # MIPS:
26 default y if MIPS_ALCHEMY
27 default y if MACH_JZ4740
28 # more:
29 default PCI
30
31# some non-PCI hcds implement EHCI
32config USB_ARCH_HAS_EHCI 9config USB_ARCH_HAS_EHCI
33 boolean 10 bool
34 default y if FSL_SOC 11
35 default y if PPC_MPC512x
36 default y if ARCH_IXP4XX
37 default y if ARCH_W90X900
38 default y if ARCH_AT91
39 default y if ARCH_MXC
40 default y if ARCH_MXS
41 default y if ARCH_OMAP3
42 default y if ARCH_CNS3XXX
43 default y if ARCH_VT8500
44 default y if PLAT_SPEAR
45 default y if PLAT_S5P
46 default y if ARCH_MSM
47 default y if MICROBLAZE
48 default y if SPARC_LEON
49 default y if ARCH_MMP
50 default y if MACH_LOONGSON1
51 default y if PLAT_ORION
52 default PCI
53
54# some non-PCI HCDs implement xHCI
55config USB_ARCH_HAS_XHCI 12config USB_ARCH_HAS_XHCI
56 boolean 13 bool
57 default PCI
58 14
59menuconfig USB_SUPPORT 15menuconfig USB_SUPPORT
60 bool "USB support" 16 bool "USB support"
@@ -71,19 +27,8 @@ config USB_COMMON
71 default y 27 default y
72 depends on USB || USB_GADGET 28 depends on USB || USB_GADGET
73 29
74# Host-side USB depends on having a host controller
75# NOTE: dummy_hcd is always an option, but it's ignored here ...
76# NOTE: SL-811 option should be board-specific ...
77config USB_ARCH_HAS_HCD 30config USB_ARCH_HAS_HCD
78 boolean 31 def_bool y
79 default y if USB_ARCH_HAS_OHCI
80 default y if USB_ARCH_HAS_EHCI
81 default y if USB_ARCH_HAS_XHCI
82 default y if PCMCIA && !M32R # sl811_cs
83 default y if ARM # SL-811
84 default y if BLACKFIN # SL-811
85 default y if SUPERH # r8a66597-hcd
86 default PCI
87 32
88# ARM SA1111 chips have a non-PCI based "OHCI-compatible" USB host interface. 33# ARM SA1111 chips have a non-PCI based "OHCI-compatible" USB host interface.
89config USB 34config USB
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index d61a026b9248..881609ef85e8 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -17,7 +17,6 @@ config USB_C67X00_HCD
17 17
18config USB_XHCI_HCD 18config USB_XHCI_HCD
19 tristate "xHCI HCD (USB 3.0) support" 19 tristate "xHCI HCD (USB 3.0) support"
20 depends on USB_ARCH_HAS_XHCI
21 ---help--- 20 ---help---
22 The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0 21 The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
23 "SuperSpeed" host controller hardware. 22 "SuperSpeed" host controller hardware.
@@ -43,7 +42,6 @@ endif # USB_XHCI_HCD
43 42
44config USB_EHCI_HCD 43config USB_EHCI_HCD
45 tristate "EHCI HCD (USB 2.0) support" 44 tristate "EHCI HCD (USB 2.0) support"
46 depends on USB_ARCH_HAS_EHCI
47 ---help--- 45 ---help---
48 The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0 46 The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
49 "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware. 47 "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
@@ -358,7 +356,6 @@ config USB_FUSBH200_HCD
358 356
359config USB_OHCI_HCD 357config USB_OHCI_HCD
360 tristate "OHCI HCD (USB 1.1) support" 358 tristate "OHCI HCD (USB 1.1) support"
361 depends on USB_ARCH_HAS_OHCI
362 select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3 359 select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
363 depends on USB_ISP1301 || !ARCH_LPC32XX 360 depends on USB_ISP1301 || !ARCH_LPC32XX
364 ---help--- 361 ---help---