Commit 4dc2cceb authored by Keshava Munegowda's avatar Keshava Munegowda Committed by Samuel Ortiz

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: default avatarKeshava Munegowda <keshava_mgowda@ti.com>
Reviewed-by: default avatarPartha Basak <parthab@india.ti.com>
Acked-by: default avatarFelipe Balbi <balbi@ti.com>
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent 16fa3dc7
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#define __ASM_ARCH_OMAP_USB_H #define __ASM_ARCH_OMAP_USB_H
#include <linux/io.h> #include <linux/io.h>
#include <linux/platform_device.h>
#include <linux/usb/musb.h> #include <linux/usb/musb.h>
#include <plat/board.h> #include <plat/board.h>
......
...@@ -21,7 +21,6 @@ ...@@ -21,7 +21,6 @@
#include <linux/types.h> #include <linux/types.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/platform_device.h>
#include <linux/clk.h> #include <linux/clk.h>
#include <linux/dma-mapping.h> #include <linux/dma-mapping.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
...@@ -436,6 +435,7 @@ static int usbhs_runtime_resume(struct device *dev) ...@@ -436,6 +435,7 @@ static int usbhs_runtime_resume(struct device *dev)
return -ENODEV; return -ENODEV;
} }
omap_tll_enable();
spin_lock_irqsave(&omap->lock, flags); spin_lock_irqsave(&omap->lock, flags);
if (omap->ehci_logic_fck && !IS_ERR(omap->ehci_logic_fck)) if (omap->ehci_logic_fck && !IS_ERR(omap->ehci_logic_fck))
...@@ -487,6 +487,7 @@ static int usbhs_runtime_suspend(struct device *dev) ...@@ -487,6 +487,7 @@ static int usbhs_runtime_suspend(struct device *dev)
clk_disable(omap->ehci_logic_fck); clk_disable(omap->ehci_logic_fck);
spin_unlock_irqrestore(&omap->lock, flags); spin_unlock_irqrestore(&omap->lock, flags);
omap_tll_disable();
return 0; return 0;
} }
...@@ -910,8 +911,10 @@ static int __init omap_usbhs_drvinit(void) ...@@ -910,8 +911,10 @@ static int __init omap_usbhs_drvinit(void)
* init before ehci and ohci drivers; * init before ehci and ohci drivers;
* The usbhs core driver should be initialized much before * The usbhs core driver should be initialized much before
* the omap ehci and ohci probe functions are called. * 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) static void __exit omap_usbhs_drvexit(void)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment