[RFC PATCH 0/6] Suspend USB Host controller on bus suspend
From: stern@rowland.harvard.edu (Alan Stern)
Date: 2013-06-20 17:19:33
Also in:
linux-omap, lkml
From: stern@rowland.harvard.edu (Alan Stern)
Date: 2013-06-20 17:19:33
Also in:
linux-omap, lkml
On Thu, 20 Jun 2013, Roger Quadros wrote:
quoted
quoted
As the omap-ehci controller driver needs to do some additional work to put itself into suspend/resume and make sure it is resumed to process an interrupt, we need to be able to override irq, bus_suspend, and bus_resume handlers. This provision is done in patch 3.Do you still need to override these things if you do the controller suspend at the right time?At least not for bus_suspend and bus_resume. We will still need to override the irq handler though. But, if we can take care of this generically in the ehci_irq handler (i.e. make sure controller is not suspended while accessing it) then we don't need such override for irq.
I don't think you need to override anything. The high-level interrupt handler usb_hcd_irq() will avoid calling ehci_irq() when the HCD_HW_ACCESSIBLE flag isn't set. All you will need to do in ehci-omap.c is call synchronize_irq() after ehci_suspend() returns and before turning off the clocks. Alan Stern