mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-05 01:33:44 +09:00
arm: bcm235xx: update clock framework
The handling of the "usage counter" is incorrect, and the clock should only be disabled when transitioning from 1 to 0. Reported-by: Chris Brand <chris.brand@broadcom.com> Signed-off-by: Steve Rae <srae@broadcom.com>
This commit is contained in:
parent
77a1a677a6
commit
8ada4e0ee6
@ -449,10 +449,9 @@ int clk_enable(struct clk *c)
|
|||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
if (!c->use_cnt) {
|
if (!c->use_cnt)
|
||||||
c->use_cnt++;
|
|
||||||
ret = c->ops->enable(c, 1);
|
ret = c->ops->enable(c, 1);
|
||||||
}
|
c->use_cnt++;
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -464,9 +463,10 @@ void clk_disable(struct clk *c)
|
|||||||
if (!c->ops || !c->ops->enable)
|
if (!c->ops || !c->ops->enable)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (c->use_cnt) {
|
if (c->use_cnt > 0) {
|
||||||
c->use_cnt--;
|
c->use_cnt--;
|
||||||
c->ops->enable(c, 0);
|
if (c->use_cnt == 0)
|
||||||
|
c->ops->enable(c, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* disable parent */
|
/* disable parent */
|
||||||
|
Loading…
Reference in New Issue
Block a user