From: Stuart Menefy Date: Fri, 28 Sep 2007 02:51:52 +0000 (+0900) Subject: sh: clkfwk: Support multi-level clock propagation. X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=24eb17e0813490497f4d5b2fad218bdba402cece;p=linux-beck.git 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 Signed-off-by: Paul Mundt --- diff --git a/arch/sh/kernel/cpu/clock.c b/arch/sh/kernel/cpu/clock.c index 92807ffa8e20..b5f1e23ed57c 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); } }