usb: musb: wake the device before ulpi transfers

musb can be suspended at the time some other driver wants to do ulpi
transfers using usb_phy_io_* functions, and that can cause data abort,
as it happened with isp1704_charger:
http://article.gmane.org/gmane.linux.kernel/1226122

Add pm_runtime to ulpi functions to rectify this. This also adds io_dev
to usb_phy so that pm_runtime_* functions can be used.

Cc: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
Grazvydas Ignotas 2012-03-21 16:35:52 +02:00 committed by Felipe Balbi
parent 692933b2cc
commit bf070bc141
2 changed files with 26 additions and 6 deletions

View file

@ -94,6 +94,7 @@ struct usb_phy {
struct usb_otg *otg;
struct device *io_dev;
struct usb_phy_io_ops *io_ops;
void __iomem *io_priv;