diff options
| author | Brian Masney <bmasney@redhat.com> | 2026-01-08 16:16:41 -0500 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2026-02-26 14:59:31 -0800 |
| commit | 053490ddace34432e457df932a8f97b849861a49 (patch) | |
| tree | 0d39f63d7ce40f74a6505a629247acde49d3a109 /drivers/clk | |
| parent | df502559b124935f5589087fd7eacbf27ac1c136 (diff) | |
| download | linux-053490ddace34432e457df932a8f97b849861a49.tar.gz linux-053490ddace34432e457df932a8f97b849861a49.tar.bz2 linux-053490ddace34432e457df932a8f97b849861a49.zip | |
clk: zynqmp: divider: convert from divider_round_rate() to divider_determine_rate()
[ Upstream commit 30a807808c69a1907001ffb79289237a2ee97cfa ]
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: 0f9cf96a01fd ("clk: zynqmp: divider: convert from round_rate() to determine_rate()")
Signed-off-by: Brian Masney <bmasney@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/clk')
| -rw-r--r-- | drivers/clk/zynqmp/divider.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/clk/zynqmp/divider.c b/drivers/clk/zynqmp/divider.c index c824eeacd8eb..de6f478d527d 100644 --- a/drivers/clk/zynqmp/divider.c +++ b/drivers/clk/zynqmp/divider.c @@ -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)) |
