]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
clk: nxp: lpc18xx-cgu: convert from round_rate() to determine_rate()
authorBrian Masney <bmasney@redhat.com>
Mon, 11 Aug 2025 15:18:29 +0000 (11:18 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 19 Oct 2025 14:23:07 +0000 (16:23 +0200)
[ Upstream commit b46a3d323a5b7942e65025254c13801d0f475f02 ]

The round_rate() clk ops is deprecated, so migrate this driver from
round_rate() to determine_rate() using the Coccinelle semantic patch
on the cover letter of this series.

Signed-off-by: Brian Masney <bmasney@redhat.com>
Stable-dep-of: 1624dead9a4d ("clk: nxp: Fix pll0 rate check condition in LPC18xx CGU driver")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/clk/nxp/clk-lpc18xx-cgu.c

index 69ebf65081b81f42f68755ee55a114d88ce14ce0..821155f79b0155139806a922f10d5a71a7ff9b51 100644 (file)
@@ -371,23 +371,25 @@ static unsigned long lpc18xx_pll0_recalc_rate(struct clk_hw *hw,
        return 0;
 }
 
-static long lpc18xx_pll0_round_rate(struct clk_hw *hw, unsigned long rate,
-                                   unsigned long *prate)
+static int lpc18xx_pll0_determine_rate(struct clk_hw *hw,
+                                      struct clk_rate_request *req)
 {
        unsigned long m;
 
-       if (*prate < rate) {
+       if (req->best_parent_rate < req->rate) {
                pr_warn("%s: pll dividers not supported\n", __func__);
                return -EINVAL;
        }
 
-       m = DIV_ROUND_UP_ULL(*prate, rate * 2);
+       m = DIV_ROUND_UP_ULL(req->best_parent_rate, req->rate * 2);
        if (m <= 0 && m > LPC18XX_PLL0_MSEL_MAX) {
-               pr_warn("%s: unable to support rate %lu\n", __func__, rate);
+               pr_warn("%s: unable to support rate %lu\n", __func__, req->rate);
                return -EINVAL;
        }
 
-       return 2 * *prate * m;
+       req->rate = 2 * req->best_parent_rate * m;
+
+       return 0;
 }
 
 static int lpc18xx_pll0_set_rate(struct clk_hw *hw, unsigned long rate,
@@ -444,7 +446,7 @@ static int lpc18xx_pll0_set_rate(struct clk_hw *hw, unsigned long rate,
 
 static const struct clk_ops lpc18xx_pll0_ops = {
        .recalc_rate    = lpc18xx_pll0_recalc_rate,
-       .round_rate     = lpc18xx_pll0_round_rate,
+       .determine_rate = lpc18xx_pll0_determine_rate,
        .set_rate       = lpc18xx_pll0_set_rate,
 };