aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mfd/omap-usb-host.c
diff options
context:
space:
mode:
authorKeshava Munegowda <keshava_mgowda@ti.com>2012-07-16 09:31:09 -0400
committerSamuel Ortiz <sameo@linux.intel.com>2012-09-21 17:40:32 -0400
commit4dc2cceb5a85e8792517ea9b7ba334eaae75a10d (patch)
treede0ea537cd5033d663d1615a40e99a0f9f58ee6e /drivers/mfd/omap-usb-host.c
parent16fa3dc75c22f9769d418f19c45e11b118aab2eb (diff)
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>
Diffstat (limited to 'drivers/mfd/omap-usb-host.c')
-rw-r--r--drivers/mfd/omap-usb-host.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/mfd/omap-usb-host.c b/drivers/mfd/omap-usb-host.c
index 41088ecbb2a9..8a256dfe6ddf 100644
--- a/drivers/mfd/omap-usb-host.c
+++ b/drivers/mfd/omap-usb-host.c
@@ -21,7 +21,6 @@
21#include <linux/types.h> 21#include <linux/types.h>
22#include <linux/slab.h> 22#include <linux/slab.h>
23#include <linux/delay.h> 23#include <linux/delay.h>
24#include <linux/platform_device.h>
25#include <linux/clk.h> 24#include <linux/clk.h>
26#include <linux/dma-mapping.h> 25#include <linux/dma-mapping.h>
27#include <linux/spinlock.h> 26#include <linux/spinlock.h>
@@ -436,6 +435,7 @@ static int usbhs_runtime_resume(struct device *dev)
436 return -ENODEV; 435 return -ENODEV;
437 } 436 }
438 437
438 omap_tll_enable();
439 spin_lock_irqsave(&omap->lock, flags); 439 spin_lock_irqsave(&omap->lock, flags);
440 440
441 if (omap->ehci_logic_fck && !IS_ERR(omap->ehci_logic_fck)) 441 if (omap->ehci_logic_fck && !IS_ERR(omap->ehci_logic_fck))
@@ -487,6 +487,7 @@ static int usbhs_runtime_suspend(struct device *dev)
487 clk_disable(omap->ehci_logic_fck); 487 clk_disable(omap->ehci_logic_fck);
488 488
489 spin_unlock_irqrestore(&omap->lock, flags); 489 spin_unlock_irqrestore(&omap->lock, flags);
490 omap_tll_disable();
490 491
491 return 0; 492 return 0;
492} 493}
@@ -910,8 +911,10 @@ static int __init omap_usbhs_drvinit(void)
910 * init before ehci and ohci drivers; 911 * init before ehci and ohci drivers;
911 * The usbhs core driver should be initialized much before 912 * The usbhs core driver should be initialized much before
912 * the omap ehci and ohci probe functions are called. 913 * the omap ehci and ohci probe functions are called.
914 * This usbhs core driver should be initialized after
915 * usb tll driver
913 */ 916 */
914fs_initcall(omap_usbhs_drvinit); 917fs_initcall_sync(omap_usbhs_drvinit);
915 918
916static void __exit omap_usbhs_drvexit(void) 919static void __exit omap_usbhs_drvexit(void)
917{ 920{