|
@@ -1969,10 +1969,6 @@ musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl)
|
|
|
goto fail0;
|
|
|
}
|
|
|
|
|
|
- pm_runtime_use_autosuspend(musb->controller);
|
|
|
- pm_runtime_set_autosuspend_delay(musb->controller, 200);
|
|
|
- pm_runtime_enable(musb->controller);
|
|
|
-
|
|
|
spin_lock_init(&musb->lock);
|
|
|
musb->board_set_power = plat->set_power;
|
|
|
musb->min_power = plat->min_power;
|
|
@@ -1991,6 +1987,12 @@ musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl)
|
|
|
musb_readl = musb_default_readl;
|
|
|
musb_writel = musb_default_writel;
|
|
|
|
|
|
+ /* We need musb_read/write functions initialized for PM */
|
|
|
+ pm_runtime_use_autosuspend(musb->controller);
|
|
|
+ pm_runtime_set_autosuspend_delay(musb->controller, 200);
|
|
|
+ pm_runtime_irq_safe(musb->controller);
|
|
|
+ pm_runtime_enable(musb->controller);
|
|
|
+
|
|
|
/* The musb_platform_init() call:
|
|
|
* - adjusts musb->mregs
|
|
|
* - sets the musb->isr
|