[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