diff options
author | Keshava Munegowda <keshava_mgowda@ti.com> | 2012-07-16 09:31:09 -0400 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2012-09-21 17:40:32 -0400 |
commit | 4dc2cceb5a85e8792517ea9b7ba334eaae75a10d (patch) | |
tree | de0ea537cd5033d663d1615a40e99a0f9f58ee6e /drivers/mfd/omap-usb-host.c | |
parent | 16fa3dc75c22f9769d418f19c45e11b118aab2eb (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.c | 7 |
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 | */ |
914 | fs_initcall(omap_usbhs_drvinit); | 917 | fs_initcall_sync(omap_usbhs_drvinit); |
915 | 918 | ||
916 | static void __exit omap_usbhs_drvexit(void) | 919 | static void __exit omap_usbhs_drvexit(void) |
917 | { | 920 | { |