mfd: omap-usb-host: Invoke the TLL driver from USB HS core driver
authorKeshava Munegowda <keshava_mgowda@ti.com>
Mon, 16 Jul 2012 13:31:09 +0000 (19:01 +0530)
committerSamuel Ortiz <sameo@linux.intel.com>
Fri, 21 Sep 2012 21:40:32 +0000 (23:40 +0200)
The usbhs driver invokes the enable/disable APIs of the
usb tll driver in the runtime resume/suspend callbacks
of the runtime get sync and put sync of the usbhs driver.

Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
Reviewed-by: Partha Basak <parthab@india.ti.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
arch/arm/plat-omap/include/plat/usb.h
drivers/mfd/omap-usb-host.c

index ca15a26..e68d099 100644 (file)
@@ -4,6 +4,7 @@
 #define        __ASM_ARCH_OMAP_USB_H
 
 #include <linux/io.h>
+#include <linux/platform_device.h>
 #include <linux/usb/musb.h>
 #include <plat/board.h>
 
index 41088ec..8a256df 100644 (file)
@@ -21,7 +21,6 @@
 #include <linux/types.h>
 #include <linux/slab.h>
 #include <linux/delay.h>
-#include <linux/platform_device.h>
 #include <linux/clk.h>
 #include <linux/dma-mapping.h>
 #include <linux/spinlock.h>
@@ -436,6 +435,7 @@ static int usbhs_runtime_resume(struct device *dev)
                return  -ENODEV;
        }
 
+       omap_tll_enable();
        spin_lock_irqsave(&omap->lock, flags);
 
        if (omap->ehci_logic_fck && !IS_ERR(omap->ehci_logic_fck))
@@ -487,6 +487,7 @@ static int usbhs_runtime_suspend(struct device *dev)
                clk_disable(omap->ehci_logic_fck);
 
        spin_unlock_irqrestore(&omap->lock, flags);
+       omap_tll_disable();
 
        return 0;
 }
@@ -910,8 +911,10 @@ static int __init omap_usbhs_drvinit(void)
  * init before ehci and ohci drivers;
  * The usbhs core driver should be initialized much before
  * the omap ehci and ohci probe functions are called.
+ * This usbhs core driver should be initialized after
+ * usb tll driver
  */
-fs_initcall(omap_usbhs_drvinit);
+fs_initcall_sync(omap_usbhs_drvinit);
 
 static void __exit omap_usbhs_drvexit(void)
 {