]> git.karo-electronics.de Git - linux-beck.git/commitdiff
sh: clkfwk: Support multi-level clock propagation.
authorStuart Menefy <stuart.menefy@st.com>
Fri, 28 Sep 2007 02:51:52 +0000 (11:51 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Fri, 28 Sep 2007 02:51:52 +0000 (11:51 +0900)
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>
arch/sh/kernel/cpu/clock.c

index 92807ffa8e2036a9d4ac66dbcf5d3e86276ea309..b5f1e23ed57cc3ef68a7bc6f05560f133fd0c8a2 100644 (file)
@@ -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);
        }
 }