aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/clock.c
diff options
context:
space:
mode:
authorTero Kristo <tero.kristo@nokia.com>2009-01-28 14:27:45 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-02-08 12:50:40 -0500
commit8463e20a58e8b8c88fab948b8610504cbf604294 (patch)
treef104ac8fefe110116b66af2730145e9e2b8658cb /arch/arm/mach-omap2/clock.c
parent0eafd4725cf5d828e76e474b8991a228bbdd3f2b (diff)
[ARM] OMAP3: PM: Make sure clk_disable_unused() order is correct
Current implementation will disable clocks in the order defined in clock34xx.h, at least DPLL4_M2X2 will hang in certain cases (and prevent retention / off) if clocks are not disabled in correct order. This patch makes sure the parent clocks will be active when disabling a clock. linux-omap source commit is 672680063420ef8c8c4e7271984bb9cc08171d29. Signed-off-by: Tero Kristo <tero.kristo@nokia.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-omap2/clock.c')
-rw-r--r--arch/arm/mach-omap2/clock.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c
index 18fddb660ff9..478ca660fffd 100644
--- a/arch/arm/mach-omap2/clock.c
+++ b/arch/arm/mach-omap2/clock.c
@@ -1000,6 +1000,10 @@ void omap2_clk_disable_unused(struct clk *clk)
1000 return; 1000 return;
1001 1001
1002 printk(KERN_INFO "Disabling unused clock \"%s\"\n", clk->name); 1002 printk(KERN_INFO "Disabling unused clock \"%s\"\n", clk->name);
1003 _omap2_clk_disable(clk); 1003 if (cpu_is_omap34xx()) {
1004 omap2_clk_enable(clk);
1005 omap2_clk_disable(clk);
1006 } else
1007 _omap2_clk_disable(clk);
1004} 1008}
1005#endif 1009#endif