提交 617b8272 编写于 作者: S Stephen Boyd 提交者: Michael Turquette

MIPS: alchemy: Convert 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.

Cc: Manuel Lauss <manuel.lauss@gmail.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Linux-MIPS <linux-mips@linux-mips.org>
Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
上级 78191897
...@@ -394,7 +394,7 @@ static int alchemy_clk_fgcs_detr(struct clk_hw *hw, ...@@ -394,7 +394,7 @@ static int alchemy_clk_fgcs_detr(struct clk_hw *hw,
struct clk_rate_request *req, struct clk_rate_request *req,
int scale, int maxdiv) int scale, int maxdiv)
{ {
struct clk *pc, *bpc, *free; struct clk_hw *pc, *bpc, *free;
long tdv, tpr, pr, nr, br, bpr, diff, lastdiff; long tdv, tpr, pr, nr, br, bpr, diff, lastdiff;
int j; int j;
...@@ -408,7 +408,7 @@ static int alchemy_clk_fgcs_detr(struct clk_hw *hw, ...@@ -408,7 +408,7 @@ static int alchemy_clk_fgcs_detr(struct clk_hw *hw,
* the one that gets closest to but not over the requested rate. * the one that gets closest to but not over the requested rate.
*/ */
for (j = 0; j < 7; j++) { for (j = 0; j < 7; j++) {
pc = clk_get_parent_by_index(hw->clk, j); pc = clk_hw_get_parent_by_index(hw, j);
if (!pc) if (!pc)
break; break;
...@@ -416,12 +416,12 @@ static int alchemy_clk_fgcs_detr(struct clk_hw *hw, ...@@ -416,12 +416,12 @@ static int alchemy_clk_fgcs_detr(struct clk_hw *hw,
* XXX: we would actually want clk_has_active_children() * XXX: we would actually want clk_has_active_children()
* but this is a good-enough approximation for now. * but this is a good-enough approximation for now.
*/ */
if (!__clk_is_prepared(pc)) { if (!clk_hw_is_prepared(pc)) {
if (!free) if (!free)
free = pc; free = pc;
} }
pr = clk_get_rate(pc); pr = clk_hw_get_rate(pc);
if (pr < req->rate) if (pr < req->rate)
continue; continue;
...@@ -451,7 +451,7 @@ static int alchemy_clk_fgcs_detr(struct clk_hw *hw, ...@@ -451,7 +451,7 @@ static int alchemy_clk_fgcs_detr(struct clk_hw *hw,
tpr = req->rate * j; tpr = req->rate * j;
if (tpr < 0) if (tpr < 0)
break; break;
pr = clk_round_rate(free, tpr); pr = clk_hw_round_rate(free, tpr);
tdv = alchemy_calc_div(req->rate, pr, scale, maxdiv, tdv = alchemy_calc_div(req->rate, pr, scale, maxdiv,
NULL); NULL);
...@@ -474,7 +474,7 @@ static int alchemy_clk_fgcs_detr(struct clk_hw *hw, ...@@ -474,7 +474,7 @@ static int alchemy_clk_fgcs_detr(struct clk_hw *hw,
return br; return br;
req->best_parent_rate = bpr; req->best_parent_rate = bpr;
req->best_parent_hw = __clk_get_hw(bpc); req->best_parent_hw = bpc;
req->rate = br; req->rate = br;
return 0; return 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册