diff options
author | Keshava Munegowda <keshava_mgowda@ti.com> | 2012-07-16 19:01:09 +0530 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2012-09-21 23:40:32 +0200 |
commit | 4dc2cceb5a85e8792517ea9b7ba334eaae75a10d (patch) | |
tree | de0ea537cd5033d663d1615a40e99a0f9f58ee6e | |
parent | 16fa3dc75c22f9769d418f19c45e11b118aab2eb (diff) | |
download | op-kernel-dev-4dc2cceb5a85e8792517ea9b7ba334eaae75a10d.zip op-kernel-dev-4dc2cceb5a85e8792517ea9b7ba334eaae75a10d.tar.gz |
mfd: omap-usb-host: Invoke the TLL driver from USB HS core driver
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>
-rw-r--r-- | arch/arm/plat-omap/include/plat/usb.h | 1 | ||||
-rw-r--r-- | drivers/mfd/omap-usb-host.c | 7 |
2 files changed, 6 insertions, 2 deletions
diff --git a/arch/arm/plat-omap/include/plat/usb.h b/arch/arm/plat-omap/include/plat/usb.h index ca15a26..e68d099 100644 --- a/arch/arm/plat-omap/include/plat/usb.h +++ b/arch/arm/plat-omap/include/plat/usb.h @@ -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> diff --git a/drivers/mfd/omap-usb-host.c b/drivers/mfd/omap-usb-host.c index 41088ec..8a256df 100644 --- a/drivers/mfd/omap-usb-host.c +++ b/drivers/mfd/omap-usb-host.c @@ -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) { |