usb: dwc3: dwc3-omap: get rid of ->prepare()/->complete()
authorGeorge Cherian <george.cherian@ti.com>
Tue, 17 Dec 2013 13:17:54 +0000 (18:47 +0530)
committerFelipe Balbi <balbi@ti.com>
Mon, 3 Nov 2014 16:00:58 +0000 (10:00 -0600)
commit7ee2566ff53e0620a80548689c74505fe8f10ec8
tree851568ae53eed39a8b5016515b02e5e7ff57cbfc
parent1803fe15ad54e68aae8b2b44e04a635e9b5d52f2
usb: dwc3: dwc3-omap: get rid of ->prepare()/->complete()

Enabling the core interrupts in complete is too late for
XHCI, and stops it from proper operation. The root of the
problem is due to a disagreement between dwc3-omap and XHCI
about when IRQs should be enabled.

As it turns out, ->resume's documentation states that:

"... generally the driver is expected to start working
again, responding to hardware events and software requests
(the device itself may be left in a low-power state, waiting
for a runtime resume to occur) ..."

From that we infer that IRQs must be unmasked by the end of
->resume().

Due to that, we will remove ->prepare() and ->complete() and
disable/enable interrupts in ->suspend()/->resume().

Acked-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: George Cherian <george.cherian@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/dwc3/dwc3-omap.c