[PATCH V5 6/6] USB: OHCI: avoid conflicting platform drivers

Alan Stern stern at rowland.harvard.edu
Wed Apr 17 16:57:03 EDT 2013


On Tue, 2 Apr 2013, Arnd Bergmann wrote:

> 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 at arndb.de>

I finally had a chance to look through this carefully.  It is fine.

Acked-by: Alan Stern <stern at rowland.harvard.edu>




More information about the linux-arm-kernel mailing list