kirkwood devicetree respin

Andrew Lunn andrew at lunn.ch
Wed Mar 21 06:32:22 EST 2012


On Tue, Mar 20, 2012 at 07:15:07PM +0000, Arnd Bergmann wrote:
> On Tuesday 20 March 2012, Jason Cooper wrote:
> > diff --git a/drivers/usb/host/ehci-orion.c b/drivers/usb/host/ehci-orion.c
> > index 6c6a5a3..0808417 100644
> > --- a/drivers/usb/host/ehci-orion.c
> > +++ b/drivers/usb/host/ehci-orion.c
> > @@ -318,3 +318,5 @@ static struct platform_driver ehci_orion_driver = {
> >         .shutdown       = usb_hcd_platform_shutdown,
> >         .driver.name    = "orion-ehci",
> >  };
> > +
> > +module_platform_driver(ehci_orion_driver);
> > 
> This actually looks wrong to me, because the ehci driver has an
> interesting way of pulling in platform specific drivers.
> 
> I'm pretty sure that it will break modular builds, which can only
> have one module_init function in them. It's not clear to me why this
> patch actually fixes the problem either. Could it be that you have
> multiple platform driver back-ends for ehci enabled at the same time?
> 
> That should not be possible in theory and at least give a warning, but
> the ehci probing method is a bit fragile so I would not be too surprised.

Hi Jason

I fell fowl of something in this area. Do you have CONFIG_USB_EHCI_MV=y?
Make sure you do not have this. 

drivers/usb/host/ehci-hcd.c has some unusual code, and if you have
both CONFIG_USB_EHCI_MV and CONFIG_PLAT_ORION, the CONFIG_USB_EHCI_MV
is given preference and the Orion driver never gets its probe
functions called etc.

	  Andrew


More information about the devicetree-discuss mailing list