clk: sunxi: Convert to clk_hw based provider APIs
authorStephen Boyd <sboyd@codeaurora.org>
Fri, 31 Jul 2015 00:20:57 +0000 (17:20 -0700)
committerMichael Turquette <mturquette@baylibre.com>
Mon, 24 Aug 2015 23:48:56 +0000 (16:48 -0700)
We're removing struct clk from the clk provider API, so switch
this code to using the clk_hw based provider APIs.

Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: "Emilio López" <emilio@elopez.com.ar>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
drivers/clk/sunxi/clk-factors.c
drivers/clk/sunxi/clk-sun6i-ar100.c
drivers/clk/sunxi/clk-sunxi.c

index b8c3ee5688f4b9f9abd3d262c511be18a3c22e8e..59428dbd607a85d3ff15e3b648f529e1a575abf9 100644 (file)
@@ -82,20 +82,20 @@ static long clk_factors_round_rate(struct clk_hw *hw, unsigned long rate,
 static int clk_factors_determine_rate(struct clk_hw *hw,
                                      struct clk_rate_request *req)
 {
-       struct clk *clk = hw->clk, *parent, *best_parent = NULL;
+       struct clk_hw *parent, *best_parent = NULL;
        int i, num_parents;
        unsigned long parent_rate, best = 0, child_rate, best_child_rate = 0;
 
        /* find the parent that can help provide the fastest rate <= rate */
        num_parents = clk_hw_get_num_parents(hw);
        for (i = 0; i < num_parents; i++) {
-               parent = clk_get_parent_by_index(clk, i);
+               parent = clk_hw_get_parent_by_index(hw, i);
                if (!parent)
                        continue;
                if (clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT)
-                       parent_rate = __clk_round_rate(parent, req->rate);
+                       parent_rate = clk_hw_round_rate(parent, req->rate);
                else
-                       parent_rate = __clk_get_rate(parent);
+                       parent_rate = clk_hw_get_rate(parent);
 
                child_rate = clk_factors_round_rate(hw, req->rate,
                                                    &parent_rate);
@@ -110,7 +110,7 @@ static int clk_factors_determine_rate(struct clk_hw *hw,
        if (!best_parent)
                return -EINVAL;
 
-       req->best_parent_hw = __clk_get_hw(best_parent);
+       req->best_parent_hw = best_parent;
        req->best_parent_rate = best;
        req->rate = best_child_rate;
 
index 3a9459197f9b4d879b3fad8a60ffefde2a4f6356..806fd019c05dd103c272446ef03e01e3a9def11f 100644 (file)
@@ -56,12 +56,12 @@ static int ar100_determine_rate(struct clk_hw *hw,
        for (i = 0; i < nparents; i++) {
                unsigned long parent_rate;
                unsigned long tmp_rate;
-               struct clk *parent;
+               struct clk_hw *parent;
                unsigned long div;
                int shift;
 
-               parent = clk_get_parent_by_index(hw->clk, i);
-               parent_rate = __clk_get_rate(parent);
+               parent = clk_hw_get_parent_by_index(hw, i);
+               parent_rate = clk_hw_get_rate(parent);
                div = DIV_ROUND_UP(parent_rate, req->rate);
 
                /*
@@ -99,7 +99,7 @@ static int ar100_determine_rate(struct clk_hw *hw,
 
                tmp_rate = (parent_rate >> shift) / div;
                if (!req->best_parent_hw || tmp_rate > best_rate) {
-                       req->best_parent_hw = __clk_get_hw(parent);
+                       req->best_parent_hw = parent;
                        req->best_parent_rate = parent_rate;
                        best_rate = tmp_rate;
                }
index 5911df9dcf13510ef14be84b0915e01831629897..dca420046e44dac85baa4407173133f23a59e458 100644 (file)
@@ -123,20 +123,20 @@ static long sun6i_ahb1_clk_round(unsigned long rate, u8 *divp, u8 *pre_divp,
 static int sun6i_ahb1_clk_determine_rate(struct clk_hw *hw,
                                         struct clk_rate_request *req)
 {
-       struct clk *clk = hw->clk, *parent, *best_parent = NULL;
+       struct clk_hw *parent, *best_parent = NULL;
        int i, num_parents;
        unsigned long parent_rate, best = 0, child_rate, best_child_rate = 0;
 
        /* find the parent that can help provide the fastest rate <= rate */
        num_parents = clk_hw_get_num_parents(hw);
        for (i = 0; i < num_parents; i++) {
-               parent = clk_get_parent_by_index(clk, i);
+               parent = clk_hw_get_parent_by_index(hw, i);
                if (!parent)
                        continue;
                if (clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT)
-                       parent_rate = __clk_round_rate(parent, req->rate);
+                       parent_rate = clk_hw_round_rate(parent, req->rate);
                else
-                       parent_rate = __clk_get_rate(parent);
+                       parent_rate = clk_hw_get_rate(parent);
 
                child_rate = sun6i_ahb1_clk_round(req->rate, NULL, NULL, i,
                                                  parent_rate);
@@ -151,7 +151,7 @@ static int sun6i_ahb1_clk_determine_rate(struct clk_hw *hw,
        if (!best_parent)
                return -EINVAL;
 
-       req->best_parent_hw = __clk_get_hw(best_parent);
+       req->best_parent_hw = best_parent;
        req->best_parent_rate = best;
        req->rate = best_child_rate;