diff options
author | Peter Chen <peter.chen@freescale.com> | 2010-10-25 15:39:24 +0800 |
---|---|---|
committer | Alejandro Gonzalez <alex.gonzalez@digi.com> | 2011-01-17 14:57:00 +0100 |
commit | 21e73ca0d40a708f038ba4a0e264ee2c68b37b62 (patch) | |
tree | 03a5b53fc30cbdfa5d2d24e9ba6ed74f2d304bb0 /arch/arm/mach-mx5/usb_h2.c | |
parent | bdca086c795469ba898fde4f7db3b00c5b589757 (diff) |
ENGR00132894 usb: clk_get should not be called at IRQ context
The old implementation will clk_get/clk_put for each clk on/off operation.
As some clk on/off operation would be IRQ context.
So, it will ocurr the error like "schedule at atomic context".
The new implementation will only call clk_get at usb initialization,
and clk_put at usb de-initialization.
The driver's clock on/off will only call clk_enable/clk_disable.
Signed-off-by: Peter Chen <peter.chen@freescale.com>
Diffstat (limited to 'arch/arm/mach-mx5/usb_h2.c')
-rw-r--r-- | arch/arm/mach-mx5/usb_h2.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/arch/arm/mach-mx5/usb_h2.c b/arch/arm/mach-mx5/usb_h2.c index 57384f89be02..9acbbf18dd1a 100644 --- a/arch/arm/mach-mx5/usb_h2.c +++ b/arch/arm/mach-mx5/usb_h2.c @@ -98,11 +98,6 @@ static int fsl_usb_host_init_ext(struct platform_device *pdev) clk_enable(usb_clk); clk_put(usb_clk); - /*derive clock from oscillator */ - usb_clk = clk_get(NULL, "usb_utmi_clk"); - clk_disable(usb_clk); - clk_put(usb_clk); - /* on mx53, there is a hardware limitation that when switch the host2's clk mode * ,usb phy1 clk must be on, after finish switching this clk can be off */ if (cpu_is_mx53()) { |