]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
omap2 clock: stop using clk->src_offset in omap2_clk_set_rate()
authorPaul Walmsley <paul@pwsan.com>
Mon, 27 Aug 2007 08:39:08 +0000 (02:39 -0600)
committerTony Lindgren <tony@atomide.com>
Fri, 31 Aug 2007 18:11:18 +0000 (11:11 -0700)
Stop using clk->rate_offset in omap2_clk_set_rate(); use what we get
from the clksel code instead.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/clock.c

index 7bfa3cdca0d7b7afa7ade8d52286dc3da600200e..3842f6dcc03c8b66962fe1a6f3b9e9a310ad7c19 100644 (file)
@@ -781,17 +781,14 @@ static u32 omap2_clksel_get_divisor(struct clk *clk)
 static int omap2_clk_set_rate(struct clk *clk, unsigned long rate)
 {
        int ret = -EINVAL;
-       u32 div_off, field_mask, field_val, reg_val, validrate;
-       u32 new_div = 0;
+       u32 field_mask, field_val, reg_val, new_div = 0;
+       unsigned long validrate;
        void __iomem *div_addr;
 
        if (!(clk->flags & CONFIG_PARTICIPANT) && (clk->flags & RATE_CKCTL)) {
                if (clk == &dpll_ck)
                        return omap2_reprogram_dpll(clk, rate);
 
-               /* Isolate control register */
-               div_off = clk->rate_offset;
-
                validrate = omap2_clksel_round_rate(clk, rate, &new_div);
                if (validrate != rate)
                        return ret;
@@ -806,7 +803,7 @@ static int omap2_clk_set_rate(struct clk *clk, unsigned long rate)
 
                reg_val = cm_read_reg(div_addr);
                reg_val &= ~field_mask;
-               reg_val |= (field_val << div_off);
+               reg_val |= (field_val << mask_to_shift(field_mask));
                cm_write_reg(reg_val, div_addr);
                wmb();
                clk->rate = clk->parent->rate / new_div;