]> Pileus Git - ~andy/linux/commitdiff
ARM: OMAP3+: dpll: use DPLL's round_rate when setting rate
authorMike Turquette <mturquette@ti.com>
Fri, 7 Oct 2011 06:52:59 +0000 (00:52 -0600)
committerPaul Walmsley <paul@pwsan.com>
Fri, 7 Oct 2011 06:52:59 +0000 (00:52 -0600)
omap3_noncore_dpll_set_rate uses omap2_dpll_round_rate explicitly.  Instead
use the struct clk pointer's round_rate function to allow for DPLL's with
special needs.

An example of a clock that requires this is DPLL_ABE on OMAP4 which
can have a 4x multiplier on top of the usual MN dividers depending on
register settings.  This requires a special round_rate function that
might yield a rate different from the initial target.

Signed-off-by: Mike Turquette <mturquette@ti.com>
Signed-off-by: Jon Hunter <jon-hunter@ti.com>
[paul@pwsan.com: split rate assignment portion into a separate patch]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
arch/arm/mach-omap2/dpll3xxx.c

index f77022be783d7fe9d3244fe1df2bf4be94298c6d..6b0fa3786022ec0da7b84a4c9c346cf9d53e2f70 100644 (file)
@@ -455,7 +455,7 @@ int omap3_noncore_dpll_set_rate(struct clk *clk, unsigned long rate)
                        new_parent = dd->clk_bypass;
        } else {
                if (dd->last_rounded_rate != rate)
-                       omap2_dpll_round_rate(clk, rate);
+                       clk->round_rate(clk, rate);
 
                if (dd->last_rounded_rate == 0)
                        return -EINVAL;