]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/mach-omap2/clock.c
ARM: OMAP: Remove cm_rmw_reg_bits()
[linux-2.6-omap-h63xx.git] / arch / arm / mach-omap2 / clock.c
index 963c259a63c1eb11f51e5c61e109927de530c49e..d3ab537ee856fc03edc05dd2f77121b0565a978a 100644 (file)
@@ -633,6 +633,7 @@ int omap2_clksel_set_rate(struct clk *clk, unsigned long rate)
 {
        u32 field_mask, field_val, validrate, new_div = 0;
        void __iomem *div_addr;
+       u32 v;
 
        validrate = omap2_clksel_round_rate_div(clk, rate, &new_div);
        if (validrate != rate)
@@ -646,7 +647,10 @@ int omap2_clksel_set_rate(struct clk *clk, unsigned long rate)
        if (field_val == ~0)
                return -EINVAL;
 
-       cm_rmw_reg_bits(field_mask, field_val << __ffs(field_mask), div_addr);
+       v = __raw_readl(div_addr);
+       v &= ~field_mask;
+       v |= field_val << __ffs(field_mask);
+       __raw_writel(v, div_addr);
 
        wmb();