diff options
author | Stuart Menefy <stuart.menefy@st.com> | 2007-09-28 11:51:52 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2007-09-28 11:51:52 +0900 |
commit | 24eb17e0813490497f4d5b2fad218bdba402cece (patch) | |
tree | fecb09cb522f03f47d90b790490e4d7bd6ed5543 /arch/sh | |
parent | 675bd7804cb53998a57f96d4133856c29213cabd (diff) | |
download | linux-3.10-24eb17e0813490497f4d5b2fad218bdba402cece.tar.gz linux-3.10-24eb17e0813490497f4d5b2fad218bdba402cece.tar.bz2 linux-3.10-24eb17e0813490497f4d5b2fad218bdba402cece.zip |
sh: clkfwk: Support multi-level clock propagation.
Currently clock propagation only works for one level, but we have some
clocks which need to propagate multiple levels, so make this recursive.
Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh')
-rw-r--r-- | arch/sh/kernel/cpu/clock.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/sh/kernel/cpu/clock.c b/arch/sh/kernel/cpu/clock.c index 92807ffa8e2..b5f1e23ed57 100644 --- a/arch/sh/kernel/cpu/clock.c +++ b/arch/sh/kernel/cpu/clock.c @@ -83,6 +83,8 @@ static void propagate_rate(struct clk *clk) continue; if (likely(clkp->ops && clkp->ops->recalc)) clkp->ops->recalc(clkp); + if (unlikely(clkp->flags & CLK_RATE_PROPAGATES)) + propagate_rate(clkp); } } |