mirror of https://gitee.com/openkylin/linux.git
sh: enable and disable clocks recursively
Recurse and make sure parent clocks get enabled/disabled. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
4a4a9be3eb
commit
d12cfac146
|
@ -117,6 +117,11 @@ int clk_enable(struct clk *clk)
|
|||
unsigned long flags;
|
||||
int ret;
|
||||
|
||||
if (!clk)
|
||||
return -EINVAL;
|
||||
|
||||
clk_enable(clk->parent);
|
||||
|
||||
spin_lock_irqsave(&clock_lock, flags);
|
||||
ret = __clk_enable(clk);
|
||||
spin_unlock_irqrestore(&clock_lock, flags);
|
||||
|
@ -147,9 +152,14 @@ void clk_disable(struct clk *clk)
|
|||
{
|
||||
unsigned long flags;
|
||||
|
||||
if (!clk)
|
||||
return -EINVAL;
|
||||
|
||||
spin_lock_irqsave(&clock_lock, flags);
|
||||
__clk_disable(clk);
|
||||
spin_unlock_irqrestore(&clock_lock, flags);
|
||||
|
||||
clk_disable(clk->parent);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(clk_disable);
|
||||
|
||||
|
|
Loading…
Reference in New Issue