Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Keshava Munegowda and committed by
Samuel Ortiz
4dc2cceb 16fa3dc7

+6 -2
+1
arch/arm/plat-omap/include/plat/usb.h
··· 4 4 #define __ASM_ARCH_OMAP_USB_H 5 5 6 6 #include <linux/io.h> 7 + #include <linux/platform_device.h> 7 8 #include <linux/usb/musb.h> 8 9 #include <plat/board.h> 9 10
+5 -2
drivers/mfd/omap-usb-host.c
··· 21 21 #include <linux/types.h> 22 22 #include <linux/slab.h> 23 23 #include <linux/delay.h> 24 - #include <linux/platform_device.h> 25 24 #include <linux/clk.h> 26 25 #include <linux/dma-mapping.h> 27 26 #include <linux/spinlock.h> ··· 435 436 return -ENODEV; 436 437 } 437 438 439 + omap_tll_enable(); 438 440 spin_lock_irqsave(&omap->lock, flags); 439 441 440 442 if (omap->ehci_logic_fck && !IS_ERR(omap->ehci_logic_fck)) ··· 487 487 clk_disable(omap->ehci_logic_fck); 488 488 489 489 spin_unlock_irqrestore(&omap->lock, flags); 490 + omap_tll_disable(); 490 491 491 492 return 0; 492 493 } ··· 911 910 * init before ehci and ohci drivers; 912 911 * The usbhs core driver should be initialized much before 913 912 * the omap ehci and ohci probe functions are called. 913 + * This usbhs core driver should be initialized after 914 + * usb tll driver 914 915 */ 915 - fs_initcall(omap_usbhs_drvinit); 916 + fs_initcall_sync(omap_usbhs_drvinit); 916 917 917 918 static void __exit omap_usbhs_drvexit(void) 918 919 {