]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/plat-omap/clock.c
clk_disable_unused() is bugged
[linux-2.6-omap-h63xx.git] / arch / arm / plat-omap / clock.c
index 197974defbe4f4b0e41ffebf2aae1f2c96dc6c00..7bbfba2a5c1e11949e717bee6d68bd37abcf7fd8 100644 (file)
@@ -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);