Commit 2f508a95 authored by Stephen Boyd's avatar Stephen Boyd Committed by Michael Turquette

clk: Convert basic types to clk_hw based provider APIs

We're removing struct clk from the clk provider API, so switch
this code to using the clk_hw based provider APIs.
Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
parent 6f220c22
...@@ -63,7 +63,7 @@ static int clk_composite_determine_rate(struct clk_hw *hw, ...@@ -63,7 +63,7 @@ static int clk_composite_determine_rate(struct clk_hw *hw,
const struct clk_ops *mux_ops = composite->mux_ops; const struct clk_ops *mux_ops = composite->mux_ops;
struct clk_hw *rate_hw = composite->rate_hw; struct clk_hw *rate_hw = composite->rate_hw;
struct clk_hw *mux_hw = composite->mux_hw; struct clk_hw *mux_hw = composite->mux_hw;
struct clk *parent; struct clk_hw *parent;
unsigned long parent_rate; unsigned long parent_rate;
long tmp_rate, best_rate = 0; long tmp_rate, best_rate = 0;
unsigned long rate_diff; unsigned long rate_diff;
...@@ -79,9 +79,9 @@ static int clk_composite_determine_rate(struct clk_hw *hw, ...@@ -79,9 +79,9 @@ static int clk_composite_determine_rate(struct clk_hw *hw,
req->best_parent_hw = NULL; req->best_parent_hw = NULL;
if (clk_hw_get_flags(hw) & CLK_SET_RATE_NO_REPARENT) { if (clk_hw_get_flags(hw) & CLK_SET_RATE_NO_REPARENT) {
parent = clk_get_parent(mux_hw->clk); parent = clk_hw_get_parent(mux_hw);
req->best_parent_hw = __clk_get_hw(parent); req->best_parent_hw = parent;
req->best_parent_rate = __clk_get_rate(parent); req->best_parent_rate = clk_hw_get_rate(parent);
rate = rate_ops->round_rate(rate_hw, req->rate, rate = rate_ops->round_rate(rate_hw, req->rate,
&req->best_parent_rate); &req->best_parent_rate);
...@@ -93,11 +93,11 @@ static int clk_composite_determine_rate(struct clk_hw *hw, ...@@ -93,11 +93,11 @@ static int clk_composite_determine_rate(struct clk_hw *hw,
} }
for (i = 0; i < clk_hw_get_num_parents(mux_hw); i++) { for (i = 0; i < clk_hw_get_num_parents(mux_hw); i++) {
parent = clk_get_parent_by_index(mux_hw->clk, i); parent = clk_hw_get_parent_by_index(mux_hw, i);
if (!parent) if (!parent)
continue; continue;
parent_rate = __clk_get_rate(parent); parent_rate = clk_hw_get_rate(parent);
tmp_rate = rate_ops->round_rate(rate_hw, req->rate, tmp_rate = rate_ops->round_rate(rate_hw, req->rate,
&parent_rate); &parent_rate);
...@@ -108,7 +108,7 @@ static int clk_composite_determine_rate(struct clk_hw *hw, ...@@ -108,7 +108,7 @@ static int clk_composite_determine_rate(struct clk_hw *hw,
if (!rate_diff || !req->best_parent_hw if (!rate_diff || !req->best_parent_hw
|| best_rate_diff > rate_diff) { || best_rate_diff > rate_diff) {
req->best_parent_hw = __clk_get_hw(parent); req->best_parent_hw = parent;
req->best_parent_rate = parent_rate; req->best_parent_rate = parent_rate;
best_rate_diff = rate_diff; best_rate_diff = rate_diff;
best_rate = tmp_rate; best_rate = tmp_rate;
......
...@@ -128,7 +128,7 @@ unsigned long divider_recalc_rate(struct clk_hw *hw, unsigned long parent_rate, ...@@ -128,7 +128,7 @@ unsigned long divider_recalc_rate(struct clk_hw *hw, unsigned long parent_rate,
if (!div) { if (!div) {
WARN(!(flags & CLK_DIVIDER_ALLOW_ZERO), WARN(!(flags & CLK_DIVIDER_ALLOW_ZERO),
"%s: Zero divisor and CLK_DIVIDER_ALLOW_ZERO not set\n", "%s: Zero divisor and CLK_DIVIDER_ALLOW_ZERO not set\n",
__clk_get_name(hw->clk)); clk_hw_get_name(hw));
return parent_rate; return parent_rate;
} }
...@@ -316,7 +316,7 @@ static int clk_divider_bestdiv(struct clk_hw *hw, unsigned long rate, ...@@ -316,7 +316,7 @@ static int clk_divider_bestdiv(struct clk_hw *hw, unsigned long rate,
*best_parent_rate = parent_rate_saved; *best_parent_rate = parent_rate_saved;
return i; return i;
} }
parent_rate = __clk_round_rate(__clk_get_parent(hw->clk), parent_rate = clk_hw_round_rate(clk_hw_get_parent(hw),
rate * i); rate * i);
now = DIV_ROUND_UP(parent_rate, i); now = DIV_ROUND_UP(parent_rate, i);
if (_is_best_div(rate, now, best, flags)) { if (_is_best_div(rate, now, best, flags)) {
...@@ -328,7 +328,7 @@ static int clk_divider_bestdiv(struct clk_hw *hw, unsigned long rate, ...@@ -328,7 +328,7 @@ static int clk_divider_bestdiv(struct clk_hw *hw, unsigned long rate,
if (!bestdiv) { if (!bestdiv) {
bestdiv = _get_maxdiv(table, width, flags); bestdiv = _get_maxdiv(table, width, flags);
*best_parent_rate = __clk_round_rate(__clk_get_parent(hw->clk), 1); *best_parent_rate = clk_hw_round_rate(clk_hw_get_parent(hw), 1);
} }
return bestdiv; return bestdiv;
......
...@@ -45,8 +45,7 @@ static long clk_factor_round_rate(struct clk_hw *hw, unsigned long rate, ...@@ -45,8 +45,7 @@ static long clk_factor_round_rate(struct clk_hw *hw, unsigned long rate,
unsigned long best_parent; unsigned long best_parent;
best_parent = (rate / fix->mult) * fix->div; best_parent = (rate / fix->mult) * fix->div;
*prate = __clk_round_rate(__clk_get_parent(hw->clk), *prate = clk_hw_round_rate(clk_hw_get_parent(hw), best_parent);
best_parent);
} }
return (*prate / fix->div) * fix->mult; return (*prate / fix->div) * fix->mult;
......
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