]> www.infradead.org Git - users/jedix/linux-maple.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)
committerBrian Masney <bmasney@redhat.com>
Mon, 8 Sep 2025 13:41:28 +0000 (09:41 -0400)
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>
drivers/clk/nxp/clk-lpc18xx-cgu.c

index 81efa885069b2af3d2ea5d71f4db5e3d94561cc6..30e0b283ca6081abbc469f80eeeac009a3c3edaf 100644 (file)
@@ -370,23 +370,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,
@@ -443,7 +445,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,
 };