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. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html