clk: imx: pllv2: convert from round_rate() to determine_rate()
authorBrian Masney <bmasney@redhat.com>
Thu, 10 Jul 2025 21:10:42 +0000 (17:10 -0400)
committerStephen Boyd <sboyd@kernel.org>
Thu, 24 Jul 2025 22:17:41 +0000 (15:17 -0700)
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>
Link: https://lore.kernel.org/r/20250710-clk-imx-round-rate-v1-10-5726f98e6d8d@redhat.com
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/imx/clk-pllv2.c

index ff17f0664faad23d826d384fa8f972e21ebd7da7..bb497ad5e0ae3df923e8f01eb2b8af710f8f8f29 100644 (file)
@@ -178,18 +178,25 @@ static int clk_pllv2_set_rate(struct clk_hw *hw, unsigned long rate,
        return 0;
 }
 
-static long clk_pllv2_round_rate(struct clk_hw *hw, unsigned long rate,
-               unsigned long *prate)
+static int clk_pllv2_determine_rate(struct clk_hw *hw,
+                                   struct clk_rate_request *req)
 {
        u32 dp_op, dp_mfd, dp_mfn;
        int ret;
 
-       ret = __clk_pllv2_set_rate(rate, *prate, &dp_op, &dp_mfd, &dp_mfn);
-       if (ret)
-               return ret;
+       ret = __clk_pllv2_set_rate(req->rate, req->best_parent_rate, &dp_op,
+                                  &dp_mfd, &dp_mfn);
+       if (ret) {
+               req->rate = ret;
 
-       return __clk_pllv2_recalc_rate(*prate, MXC_PLL_DP_CTL_DPDCK0_2_EN,
-                       dp_op, dp_mfd, dp_mfn);
+               return 0;
+       }
+
+       req->rate = __clk_pllv2_recalc_rate(req->best_parent_rate,
+                                           MXC_PLL_DP_CTL_DPDCK0_2_EN, dp_op,
+                                           dp_mfd, dp_mfn);
+
+       return 0;
 }
 
 static int clk_pllv2_prepare(struct clk_hw *hw)
@@ -235,7 +242,7 @@ static const struct clk_ops clk_pllv2_ops = {
        .prepare = clk_pllv2_prepare,
        .unprepare = clk_pllv2_unprepare,
        .recalc_rate = clk_pllv2_recalc_rate,
-       .round_rate = clk_pllv2_round_rate,
+       .determine_rate = clk_pllv2_determine_rate,
        .set_rate = clk_pllv2_set_rate,
 };