On Monday, October 14, 2013 1:35 PM, Alan Stern wrote: > On Mon, 14 Oct 2013, Olof Johansson wrote: > >> Hi, Greg, >> >> [Adding ep93xx maintainers as well] >> >> On Wed, Oct 2, 2013 at 3:15 AM, Majunath Goudar <csmanjuvijay@xxxxxxxxx> wrote: >>> From: Manjunath Goudar <manjunath.goudar@xxxxxxxxxx> >>> >>> Suspend scenario in case of ohci-ep93xx glue was not >>> properly handled as it was not suspending generic part >>> of ohci controller. Alan Stern suggested, properly handle >>> ohci-ep93xx suspend scenario. >>> >>> Calling explicitly the ohci_suspend() routine in >>> ohci_hcd_ep93xx_drv_suspend() will ensure proper handling of >>> suspend scenario. > >>> --- a/drivers/usb/host/ohci-ep93xx.c >>> +++ b/drivers/usb/host/ohci-ep93xx.c >>> @@ -112,13 +112,20 @@ static int ohci_hcd_ep93xx_drv_suspend(struct platform_device *pdev, pm_message_ >>> { >>> struct usb_hcd *hcd = platform_get_drvdata(pdev); >>> struct ohci_hcd *ohci = hcd_to_ohci(hcd); >>> + bool do_wakeup = device_may_wakeup(&pdev->dev); >>> + int ret; >>> >>> if (time_before(jiffies, ohci->next_statechange)) >>> msleep(5); >>> ohci->next_statechange = jiffies; >>> >>> - clk_disable(usb_host_clock); >>> - return 0; >>> + ret = ohci_suspend(hcd, do_wakeup); >>> + if (ret) >>> + return ret; >>> + >>> + ep93xx_stop_hc(&pdev->dev); >>> + >>> + return ret; >>> } >> >> This patch showed up in -next today (or maybe a while ago and I didn't >> notice). It's causing a build failure on ep93xx: >> >> From http://arm-soc.lixom.net/buildlogs/next-thierry/v3.12-rc5-5366-gba2e8c2/buildall.arm.ep93xx_defconfig.log.failed: >> >> drivers/usb/host/ohci-ep93xx.c: In function 'ohci_hcd_ep93xx_drv_suspend': >> drivers/usb/host/ohci-ep93xx.c:126:2: error: implicit declaration of >> function 'ep93xx_stop_hc' >> >> >> It's really confusing though, because Majunath has posted this patch >> three times. The first time it had the ep93xx_stop_hc() call in there, >> the second patch (labelled V2) did not, and the third(?) version, >> without version label, also lacked it. No revision log in the patch, >> and no comments on it. > > In fact he has posted it a lot more than 3 times, and the version > numbers (or lack thereof) are definitely confusing. > > The reason for the build failure is that Manjanuth started work on this > patch many months ago -- back in the spring. At that time the > ep93xx_stop_hc() routine did exist. > > But commit af3f233fd27b (usb: ohci-ep93xx: tidy up driver (*probe) and > (*remove)), dated July 1, removed it. Manjunath never updated his > patch in response. > >> But it does seem like the wrong version was merged based on build results. > > No, it's a rebasing failure, not a wrong version. Alan, As an alternative to this patch, I have successfully used the ohci-platform driver on the ep93xx. This does move a bit of glue code into the ep93xx core (arch/arm/mach-ep93xx/core.c) but it removes the ohci-ep93xx glue driver completely. I can post a patch for this shortly if you would like. Regards, Hartley -- 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