Commit 30a80780 authored by Brian Masney's avatar Brian Masney
Browse files

clk: zynqmp: divider: convert from divider_round_rate() to divider_determine_rate()



The divider_round_rate() function is now deprecated, so let's migrate
to divider_determine_rate() instead so that this deprecated API can be
removed.

Note that when the main function itself was migrated to use
determine_rate, this was mistakenly converted to:

    req->rate = divider_round_rate(...)

This is invalid in the case when an error occurs since it can set the
rate to a negative value.

Fixes: 0f9cf96a ("clk: zynqmp: divider: convert from round_rate() to determine_rate()")
Signed-off-by: default avatarBrian Masney <bmasney@redhat.com>
parent bb1b0e63
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -151,8 +151,9 @@ static int zynqmp_clk_divider_determine_rate(struct clk_hw *hw,

	width = fls(divider->max_div);

	req->rate = divider_round_rate(hw, req->rate, &req->best_parent_rate,
				       NULL, width, divider->flags);
	ret = divider_determine_rate(hw, req, NULL, width, divider->flags);
	if (ret != 0)
		return ret;

	if (divider->is_frac && (clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT) &&
	    (req->rate % req->best_parent_rate))