return divider;
}
-static long isp_xclk_round_rate(struct clk_hw *hw, unsigned long rate,
- unsigned long *parent_rate)
+static int isp_xclk_determine_rate(struct clk_hw *hw,
+ struct clk_rate_request *req)
{
- isp_xclk_calc_divider(&rate, *parent_rate);
- return rate;
+ isp_xclk_calc_divider(&req->rate, req->best_parent_rate);
+ return 0;
}
static int isp_xclk_set_rate(struct clk_hw *hw, unsigned long rate,
.enable = isp_xclk_enable,
.disable = isp_xclk_disable,
.recalc_rate = isp_xclk_recalc_rate,
- .round_rate = isp_xclk_round_rate,
+ .determine_rate = isp_xclk_determine_rate,
.set_rate = isp_xclk_set_rate,
};