]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
phy: rockchip: phy-rockchip-inno-hdmi: convert from round_rate() to determine_rate()
authorBrian Masney <bmasney@redhat.com>
Thu, 11 Dec 2025 23:16:25 +0000 (08:16 +0900)
committerVinod Koul <vkoul@kernel.org>
Wed, 24 Dec 2025 07:23:35 +0000 (12:53 +0530)
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.

Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Brian Masney <bmasney@redhat.com>
Link: https://patch.msgid.link/20251212-phy-clk-round-rate-v3-7-beae3962f767@redhat.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/phy/rockchip/phy-rockchip-inno-hdmi.c

index 8dcc2bb777b5455d21a10f06c5ad842b2ddbc834..1483907413faa5ce1dc8614db05e6e929410404d 100644 (file)
@@ -749,22 +749,23 @@ unsigned long inno_hdmi_phy_rk3228_clk_recalc_rate(struct clk_hw *hw,
        return vco;
 }
 
-static long inno_hdmi_phy_rk3228_clk_round_rate(struct clk_hw *hw,
-                                               unsigned long rate,
-                                               unsigned long *parent_rate)
+static int inno_hdmi_phy_rk3228_clk_determine_rate(struct clk_hw *hw,
+                                                  struct clk_rate_request *req)
 {
        const struct pre_pll_config *cfg = pre_pll_cfg_table;
 
-       rate = (rate / 1000) * 1000;
+       req->rate = (req->rate / 1000) * 1000;
 
        for (; cfg->pixclock != 0; cfg++)
-               if (cfg->pixclock == rate && !cfg->fracdiv)
+               if (cfg->pixclock == req->rate && !cfg->fracdiv)
                        break;
 
        if (cfg->pixclock == 0)
                return -EINVAL;
 
-       return cfg->pixclock;
+       req->rate = cfg->pixclock;
+
+       return 0;
 }
 
 static int inno_hdmi_phy_rk3228_clk_set_rate(struct clk_hw *hw,
@@ -835,7 +836,7 @@ static const struct clk_ops inno_hdmi_phy_rk3228_clk_ops = {
        .unprepare = inno_hdmi_phy_rk3228_clk_unprepare,
        .is_prepared = inno_hdmi_phy_rk3228_clk_is_prepared,
        .recalc_rate = inno_hdmi_phy_rk3228_clk_recalc_rate,
-       .round_rate = inno_hdmi_phy_rk3228_clk_round_rate,
+       .determine_rate = inno_hdmi_phy_rk3228_clk_determine_rate,
        .set_rate = inno_hdmi_phy_rk3228_clk_set_rate,
 };
 
@@ -906,22 +907,23 @@ unsigned long inno_hdmi_phy_rk3328_clk_recalc_rate(struct clk_hw *hw,
        return inno->pixclock;
 }
 
-static long inno_hdmi_phy_rk3328_clk_round_rate(struct clk_hw *hw,
-                                               unsigned long rate,
-                                               unsigned long *parent_rate)
+static int inno_hdmi_phy_rk3328_clk_determine_rate(struct clk_hw *hw,
+                                                  struct clk_rate_request *req)
 {
        const struct pre_pll_config *cfg = pre_pll_cfg_table;
 
-       rate = (rate / 1000) * 1000;
+       req->rate = (req->rate / 1000) * 1000;
 
        for (; cfg->pixclock != 0; cfg++)
-               if (cfg->pixclock == rate)
+               if (cfg->pixclock == req->rate)
                        break;
 
        if (cfg->pixclock == 0)
                return -EINVAL;
 
-       return cfg->pixclock;
+       req->rate = cfg->pixclock;
+
+       return 0;
 }
 
 static int inno_hdmi_phy_rk3328_clk_set_rate(struct clk_hw *hw,
@@ -989,7 +991,7 @@ static const struct clk_ops inno_hdmi_phy_rk3328_clk_ops = {
        .unprepare = inno_hdmi_phy_rk3328_clk_unprepare,
        .is_prepared = inno_hdmi_phy_rk3328_clk_is_prepared,
        .recalc_rate = inno_hdmi_phy_rk3328_clk_recalc_rate,
-       .round_rate = inno_hdmi_phy_rk3328_clk_round_rate,
+       .determine_rate = inno_hdmi_phy_rk3328_clk_determine_rate,
        .set_rate = inno_hdmi_phy_rk3328_clk_set_rate,
 };