arm: bcm235xx: update clock framework
[platform/kernel/u-boot.git] / arch / arm / cpu / armv7 / bcm235xx / clk-core.c
index 2b5da6b..a326dfe 100644 (file)
@@ -449,10 +449,9 @@ int clk_enable(struct clk *c)
        if (ret)
                return ret;
 
-       if (!c->use_cnt) {
-               c->use_cnt++;
+       if (!c->use_cnt)
                ret = c->ops->enable(c, 1);
-       }
+       c->use_cnt++;
 
        return ret;
 }
@@ -464,9 +463,10 @@ void clk_disable(struct clk *c)
        if (!c->ops || !c->ops->enable)
                return;
 
-       if (c->use_cnt) {
+       if (c->use_cnt > 0) {
                c->use_cnt--;
-               c->ops->enable(c, 0);
+               if (c->use_cnt == 0)
+                       c->ops->enable(c, 0);
        }
 
        /* disable parent */