[PATCH 07/10] MXS: Add USB PHY driver
Marek Vasut
marex at denx.de
Thu Apr 19 18:06:35 EDT 2012
Dear Sascha Hauer,
> On Wed, Apr 18, 2012 at 10:02:02PM +0200, Marek Vasut wrote:
> > Dear Sascha Hauer,
> >
> > > > +static void mxs_usb_work(struct work_struct *w)
> > > > +{
> > > > + struct mxs_usb_phy *phy = container_of(w, struct mxs_usb_phy,
> > > > work); + struct usb_otg *otg = phy->phy.otg;
> > > > + struct usb_hcd *hcd;
> > > > +
> > > > + switch (otg->phy->state) {
> > > > + case OTG_STATE_A_HOST:
> > > > + if (otg->host) {
> > > > + hcd = bus_to_hcd(otg->host);
> > > > + usb_add_hcd(hcd, hcd->irq, IRQF_SHARED);
> > > > + }
> > > > + break;
> > > > + default:
> > > > + break;
> > > > + }
> > > > +}
> > >
> > > This function should be in imx-otg.
> >
> > You mean imx-usb? What'd it do in there?
>
> otg/imx-usb.c, yes (though I would prefer imx-otg.c)
>
> It should be there because it's the imx-otg.c driver which manages the
> state. The phy driver is only a helper.
I believe the imx-otg should only call otg_set_host()/otg_set_peripheral() on
the particular PHY, in this case mxs-usb-phy, correct? The mxs_usb_work() should
stay in the PHY's driver, because it'll likely frob with the PHY's own registers
once peripheral support is added.
>
> Sascha
Best regards,
Marek Vasut
More information about the linux-arm-kernel
mailing list