linux/drivers/usb/host
Arnd Bergmann 8097804eab USB: OHCI: avoid conflicting platform drivers
Like the EHCI driver, OHCI supports a large number of different platform
glue drivers by directly including them, which causes problems with
conflicting macro definitions in some cases. As more ARM architecture
specific back-ends are required to coexist in a single build, we should
split those out into separate drivers. Unfortunately, the infrastructure
for that is still under development, so to give us more time, this uses
a separate *_PLATFORM_DRIVER macro for each ARM specific OHCI backend,
just like we already do on PowerPC and some of the other ARM platforms.

In linux-3.10, only the SPEAr and CNS3xxx back-ends would actually conflict
without this patch, but over time we would get more of them, so this
is a way to avoid having to patch the driver every time it breaks. We
should still split out all back-ends into separate loadable modules,
but that work is only needed to improve code size and cleanliness after
this patch, not for correctness.

While we're here, this fixes the incorrectly sorted error path
for the OMAP1 and OMAP3 backends to ensure we always unregister
the exact set of drivers that were registered before erroring out.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-04-25 10:58:00 -07:00
..
whci
bcma-hcd.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
ehci-atmel.c USB: EHCI: make ehci-atmel a separate driver 2013-04-08 09:40:20 -07:00
ehci-dbg.c USB: EHCI: convert singly-linked lists to list_heads 2013-03-25 13:35:05 -07:00
ehci-fsl.c EHCI: Quirk flag for port power handling on overcurrent. 2013-04-03 11:38:53 -07:00
ehci-fsl.h
ehci-grlib.c usb: Convert to devm_ioremap_resource() 2013-01-22 11:41:58 -08:00
ehci-hcd.c usb: remove redundant tdi_reset 2013-04-17 10:01:22 -07:00
ehci-hub.c EHCI: Quirk flag for port power handling on overcurrent. 2013-04-03 11:38:53 -07:00
ehci-mem.c
ehci-msm.c USB: EHCI: make ehci-msm a separate driver 2013-04-08 09:40:20 -07:00
ehci-mv.c usb: patches for v3.10 merge window 2013-04-05 15:18:00 -07:00
ehci-mxc.c USB: Fix initconst in ehci driver 2013-04-23 10:10:29 -07:00
ehci-octeon.c USB: EHCI: remove ehci_port_power() routine 2012-10-31 12:48:07 -07:00
ehci-omap.c USB: ehci-omap: Improve PHY error handling 2013-04-17 10:03:07 -07:00
ehci-orion.c USB: EHCI: make ehci-orion a separate driver 2013-04-08 09:33:40 -07:00
ehci-pci.c USB: Fix initconst in ehci driver 2013-04-23 10:10:29 -07:00
ehci-platform.c USB: Fix initconst in ehci driver 2013-04-23 10:10:29 -07:00
ehci-pmcmsp.c USB: EHCI: remove ehci_port_power() routine 2012-10-31 12:48:07 -07:00
ehci-ppc-of.c usb: Convert to devm_ioremap_resource() 2013-01-22 11:41:58 -08:00
ehci-ps3.c usb: PS3 EHCI remove unneeded ehci_shutdown 2013-04-01 12:32:43 -07:00
ehci-q.c usb: ehci: mark unlink_empty_async_suspended() as __maybe_unused 2013-03-28 14:49:53 -07:00
ehci-s5p.c usb: exynos: do not include plat/usb-phy.h 2013-04-11 14:27:55 -07:00
ehci-sched.c Merge branch 'usb-linus' into usb-next 2013-03-28 11:00:55 -07:00
ehci-sead3.c usb: Convert to devm_ioremap_resource() 2013-01-22 11:41:58 -08:00
ehci-sh.c usb: echi-sh: Remove driver variable which is not used 2013-03-28 11:14:47 -07:00
ehci-spear.c USB: EHCI: make ehci-spear a separate driver 2013-04-08 09:35:22 -07:00
ehci-sysfs.c
ehci-tegra.c usb: phy: tegra: don't call into tegra-ehci directly 2013-04-23 12:50:38 -07:00
ehci-tilegx.c
ehci-timer.c USB: EHCI: improve end_unlink_async() 2013-03-25 13:36:32 -07:00
ehci-w90x900.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
ehci-xilinx-of.c usb: Convert to devm_ioremap_resource() 2013-01-22 11:41:58 -08:00
ehci.h EHCI: Quirk flag for port power handling on overcurrent. 2013-04-03 11:38:53 -07:00
fhci-dbg.c
fhci-hcd.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
fhci-hub.c
fhci-mem.c
fhci-q.c
fhci-sched.c
fhci-tds.c
fhci.h
fsl-mph-dr-of.c USB: fsl-mph-dr-of: fix regression on mpc5121e 2013-01-11 16:01:06 -08:00
hwa-hc.c
imx21-dbg.c
imx21-hcd.c usb: imx21-hcd: Include missing linux/module.h 2013-01-11 12:01:09 -08:00
imx21-hcd.h
isp116x-hcd.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
isp116x.h
isp1362-hcd.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
isp1362.h
isp1760-hcd.c usb/isp1760: declare schedule_ptds() and errata2_function() static 2013-01-30 00:17:38 -05:00
isp1760-hcd.h
isp1760-if.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
Kconfig USB: ehci-omap: Don't select any PHY driver 2013-04-17 10:03:07 -07:00
Makefile USB: EHCI: make ehci-msm a separate driver 2013-04-08 09:40:20 -07:00
octeon2-common.c
ohci-at91.c ARM: arm-soc: Header cleanups 2012-12-12 11:45:16 -08:00
ohci-da8xx.c
ohci-dbg.c
ohci-ep93xx.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
ohci-exynos.c usb: exynos: do not include plat/usb-phy.h 2013-04-11 14:27:55 -07:00
ohci-hcd.c USB: OHCI: avoid conflicting platform drivers 2013-04-25 10:58:00 -07:00
ohci-hub.c USB: remove CONFIG_USB_SUSPEND option 2013-03-28 11:10:22 -07:00
ohci-jz4740.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
ohci-mem.c
ohci-nxp.c usb: Convert to devm_ioremap_resource() 2013-01-22 11:41:58 -08:00
ohci-octeon.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
ohci-omap3.c USB: ohci-omap3: Add device tree support and binding information 2013-03-15 11:51:47 -07:00
ohci-omap.c ARM: arm-soc: Header cleanups 2012-12-12 11:45:16 -08:00
ohci-pci.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
ohci-platform.c usb: Convert to devm_ioremap_resource() 2013-01-22 11:41:58 -08:00
ohci-ppc-of.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
ohci-ps3.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
ohci-pxa27x.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
ohci-q.c USB: ohci: set urb->hcpriv = NULL immediately, after free it 2013-01-11 16:03:38 -08:00
ohci-s3c2410.c usb: Convert to devm_ioremap_resource() 2013-01-22 11:41:58 -08:00
ohci-sa1111.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
ohci-sm501.c USB: OHCI: sm501: fix build failure after ohci_finish_controller_resume removal 2012-10-23 10:18:53 -07:00
ohci-spear.c usb: remove use of __devinitdata 2012-11-21 13:27:16 -08:00
ohci-tilegx.c
ohci-tmio.c usb: host: ohci-tmio: fix compile warning 2013-01-11 16:22:53 -08:00
ohci.h
oxu210hp-hcd.c
oxu210hp.h
pci-quirks.c usb: Prevent dead ports when xhci is not enabled 2013-01-24 09:56:19 -08:00
pci-quirks.h
r8a66597-hcd.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
r8a66597.h
sl811_cs.c
sl811-hcd.c USB: remove CONFIG_USB_SUSPEND option 2013-03-28 11:10:22 -07:00
sl811.h
ssb-hcd.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
u132-hcd.c USB: remove CONFIG_USB_SUSPEND option 2013-03-28 11:10:22 -07:00
uhci-debug.c USB: uhci: beautify source code 2013-01-24 13:59:26 -08:00
uhci-grlib.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
uhci-hcd.c Merge 3.8-rc5 into usb-next 2013-01-25 12:41:02 -08:00
uhci-hcd.h USB: UHCI: remove unused definition 2013-01-24 13:42:09 -08:00
uhci-hub.c Merge usb-linus branch into usb-next 2013-02-08 12:03:11 -08:00
uhci-pci.c
uhci-platform.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
uhci-q.c USB: uhci: check buffer length to avoid memory overflow 2013-01-24 13:42:09 -08:00
xhci-dbg.c xhci: trivial: Remove assigned but unused slot_ctx. 2012-10-25 13:13:48 -07:00
xhci-ext-caps.h
xhci-hub.c USB: remove CONFIG_USB_SUSPEND option 2013-03-28 11:10:22 -07:00
xhci-mem.c xhci: Rename SEGMENT_SIZE and SEGMENT_SHIFT as the former is used in a.out.h 2013-04-03 10:28:33 -07:00
xhci-pci.c usb: add find_raw_port_number callback to struct hc_driver() 2013-03-25 10:39:17 -07:00
xhci-plat.c
xhci-ring.c xhci: Don't warn on empty ring for suspended devices. 2013-03-25 10:39:19 -07:00
xhci.c xhci - clarify compliance mode debug messages 2013-04-08 08:42:58 -07:00
xhci.h xhci: Rename SEGMENT_SIZE and SEGMENT_SHIFT as the former is used in a.out.h 2013-04-03 10:28:33 -07:00