From 4c1cb27545d19642d43874ebeacef83bf3566b86 Mon Sep 17 00:00:00 2001 From: Paul Walmsley Date: Wed, 24 Sep 2008 04:48:05 -0600 Subject: [PATCH] clk_disable_unused() is bugged OMAP2/3 clock: fix CONFIG_OMAP_RESET_CLOCKS plat-omap/clock.c was skipping clocks with enable_reg == 0. This no longer works now that we use enable_reg as an offset from a PRCM module. Problem found and traced by Tero Kristo - thanks Tero. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren --- arch/arm/plat-omap/clock.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c index 197974defbe..7bbfba2a5c1 100644 --- a/arch/arm/plat-omap/clock.c +++ b/arch/arm/plat-omap/clock.c @@ -384,8 +384,11 @@ static int __init clk_disable_unused(void) unsigned long flags; list_for_each_entry(ck, &clocks, node) { - if (ck->usecount > 0 || (ck->flags & ALWAYS_ENABLED) || - ck->enable_reg == 0) + if (ck->usecount > 0 || + (ck->flags & (ALWAYS_ENABLED | PARENT_CONTROLS_CLOCK))) + continue; + + if (cpu_class_is_omap1() && ck->enable_reg == 0) continue; spin_lock_irqsave(&clockfw_lock, flags); -- 2.41.0