+ dd = clk->parent->dpll_data;
+ cm_clksel1_pll = __raw_readl(dd->mult_div1_reg);
+
+ validrate = omap2_clksel_round_rate_div(clk, rate, &new_div);
+ if (validrate == rate) {
+ cm_clksel1_pll &= ~clk->clksel_mask;
+ cm_clksel1_pll |= new_div << __ffs(clk->clksel_mask);
+ } else {
+ rate = omap2_dpll_round_rate(clk->parent, rate);
+ if (rate == ~0)
+ return -EINVAL;
+
+ cm_clksel1_pll &= ~(dd->mult_mask | dd->div1_mask | clk->clksel_mask);
+ cm_clksel1_pll |= dd->last_rounded_m << __ffs(dd->mult_mask);
+ cm_clksel1_pll |= (dd->last_rounded_n - 1) << __ffs(dd->div1_mask);
+ cm_clksel1_pll |= 1 << __ffs(clk->clksel_mask);
+
+ validrate = rate;
+ }
+
+#if 0