[PATCH v2] USB: Support for LPC32xx SoC

Alan Stern stern at rowland.harvard.edu
Mon Feb 27 11:42:52 EST 2012


On Mon, 27 Feb 2012, Arnd Bergmann wrote:

> > > > A little progress has been made already.  We just received a submission
> > > > for a "generic" platform bus glue file that will be able to take over
> > > > the jobs of several of the existiing files.  If anyone wants to take
> > > > this further I won't object, but I don't plan to work on it myself
> > > > soon.
> > > 
> > > Ok, good to know. The approach of a generic glue is exactly what I
> > > was going to suggest. As we get to ARM platforms that are currently
> > > using PLATFORM_DRIVER, I will then ask people to convert the ohci
> > > glue to use that generic glue instead of adding another *_DRIVER
> > > macro to ohci/ehci.
> > 
> > The problem is that several platforms have highly specialized needs
> > that can't sanely be handled in a single generic driver.  Although a
> > lot of drivers can be converted over, not all of them will.
> 
> Can you give an example? We have recently converted the sdhci mmc drivers
> in a similar way, and we have the libata drivers that have always worked
> in this manner.

Look at ehci-tegra.c.  It has numerous non-generic overrides, such as
tegra_ehci_hub_control().  It also has support for two clocks and a 
transceiver.

> > > I'm not sure about what we should do for lpc32xx. Is that
> > > generic glue going into v3.4?
> > 
> > That's up to Greg.  At the moment it isn't used by anything, and unless
> > an existing driver can be converted over I'd guess it's not likely to
> > get merged right away.
> 
> Where is that patch? Maybe I can help out by converting the PCI
> variants of ohci and ehci to the generic glue, because they are
> easy to test.

	http://marc.info/?l=linux-usb&m=132986573930143&w=2

and the following two messages in the linux-usb mailing list.

> > At the moment, switching the pnx4008 driver to use the generic bus glue
> > doesn't look easy.  The generic code doesn't know anything about i2c.
> 
> Maybe I misunderstood what the generic bus glue does then, because I
> would not expect that it should know about i2c ;-)
> 
> I would think the generic bus glue would be a very simple library that
> just exports the various symbols that are defined in ohci-hcd.c and
> used in the bus specific driver so that the driver can be a separate
> module. Is it something different from that?

Quite different.  What you just described is ohci-hcd.c itself -- 
except that it doesn't export the necessary symbols.

The generic driver, as you'll see when you read the patch, includes 
generic versions of the various routines that a bus glue file has to 
provide (probe, remove, initialize, and so on).

Alan Stern




More information about the linux-arm-kernel mailing list