summaryrefslogtreecommitdiff
path: root/drivers/clk/clk.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/clk/clk.c')
-rw-r--r--drivers/clk/clk.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index 75cfde9f917f..553e1e9eb300 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -1415,8 +1415,6 @@ static int clk_core_round_rate_nolock(struct clk_core *core,
return 0;
}
- clk_core_init_rate_req(core, req, req->rate);
-
if (clk_core_can_round(core))
return clk_core_determine_round_nolock(core, req);
else if (core->flags & CLK_SET_RATE_PARENT)
@@ -1464,8 +1462,8 @@ unsigned long clk_hw_round_rate(struct clk_hw *hw, unsigned long rate)
int ret;
struct clk_rate_request req;
+ clk_core_init_rate_req(hw->core, &req, rate);
clk_core_get_boundaries(hw->core, &req.min_rate, &req.max_rate);
- req.rate = rate;
ret = clk_core_round_rate_nolock(hw->core, &req);
if (ret)
@@ -1497,8 +1495,8 @@ long clk_round_rate(struct clk *clk, unsigned long rate)
if (clk->exclusive_count)
clk_core_rate_unprotect(clk->core);
+ clk_core_init_rate_req(clk->core, &req, rate);
clk_core_get_boundaries(clk->core, &req.min_rate, &req.max_rate);
- req.rate = rate;
ret = clk_core_round_rate_nolock(clk->core, &req);
@@ -2209,8 +2207,8 @@ static unsigned long clk_core_req_round_rate_nolock(struct clk_core *core,
if (cnt < 0)
return cnt;
+ clk_core_init_rate_req(core, &req, req_rate);
clk_core_get_boundaries(core, &req.min_rate, &req.max_rate);
- req.rate = req_rate;
ret = clk_core_round_rate_nolock(core, &req);