Commit 612fe81a authored by Paul Walmsley's avatar Paul Walmsley Committed by Tony Lindgren

omap2 clock: stop using clk->src_offset in omap2_clk_set_rate()

Stop using clk->rate_offset in omap2_clk_set_rate(); use what we get
from the clksel code instead.
Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 2f3ac766
...@@ -781,17 +781,14 @@ static u32 omap2_clksel_get_divisor(struct clk *clk) ...@@ -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) static int omap2_clk_set_rate(struct clk *clk, unsigned long rate)
{ {
int ret = -EINVAL; int ret = -EINVAL;
u32 div_off, field_mask, field_val, reg_val, validrate; u32 field_mask, field_val, reg_val, new_div = 0;
u32 new_div = 0; unsigned long validrate;
void __iomem *div_addr; void __iomem *div_addr;
if (!(clk->flags & CONFIG_PARTICIPANT) && (clk->flags & RATE_CKCTL)) { if (!(clk->flags & CONFIG_PARTICIPANT) && (clk->flags & RATE_CKCTL)) {
if (clk == &dpll_ck) if (clk == &dpll_ck)
return omap2_reprogram_dpll(clk, rate); return omap2_reprogram_dpll(clk, rate);
/* Isolate control register */
div_off = clk->rate_offset;
validrate = omap2_clksel_round_rate(clk, rate, &new_div); validrate = omap2_clksel_round_rate(clk, rate, &new_div);
if (validrate != rate) if (validrate != rate)
return ret; return ret;
...@@ -806,7 +803,7 @@ static int omap2_clk_set_rate(struct clk *clk, unsigned long rate) ...@@ -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 = cm_read_reg(div_addr);
reg_val &= ~field_mask; 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); cm_write_reg(reg_val, div_addr);
wmb(); wmb();
clk->rate = clk->parent->rate / new_div; clk->rate = clk->parent->rate / new_div;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment