]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
phy: rockchip: phy-rockchip-samsung-hdptx: convert from round_rate() to determine_rate()
authorBrian Masney <bmasney@redhat.com>
Thu, 11 Dec 2025 23:16:26 +0000 (08:16 +0900)
committerVinod Koul <vkoul@kernel.org>
Wed, 24 Dec 2025 07:23:36 +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: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
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-8-beae3962f767@redhat.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c

index e3d817e81d6d90740955e4b9a5ff0aad2d101d1a..a65e966942374d202dc424c5ddb38115ba19f25a 100644 (file)
@@ -1838,8 +1838,8 @@ static unsigned long rk_hdptx_phy_clk_recalc_rate(struct clk_hw *hw,
        return hdptx->hw_rate;
 }
 
-static long rk_hdptx_phy_clk_round_rate(struct clk_hw *hw, unsigned long rate,
-                                       unsigned long *parent_rate)
+static int rk_hdptx_phy_clk_determine_rate(struct clk_hw *hw,
+                                          struct clk_rate_request *req)
 {
        struct rk_hdptx_phy *hdptx = to_rk_hdptx_phy(hw);
 
@@ -1848,9 +1848,9 @@ static long rk_hdptx_phy_clk_round_rate(struct clk_hw *hw, unsigned long rate,
         * To be dropped as soon as the RK DW HDMI QP bridge driver
         * switches to make use of phy_configure().
         */
-       if (!hdptx->restrict_rate_change && rate != hdptx->hdmi_cfg.tmds_char_rate) {
+       if (!hdptx->restrict_rate_change && req->rate != hdptx->hdmi_cfg.tmds_char_rate) {
                struct phy_configure_opts_hdmi hdmi = {
-                       .tmds_char_rate = rate,
+                       .tmds_char_rate = req->rate,
                };
                int ret = rk_hdptx_phy_verify_hdmi_config(hdptx, &hdmi);
 
@@ -1865,7 +1865,10 @@ static long rk_hdptx_phy_clk_round_rate(struct clk_hw *hw, unsigned long rate,
         * hence ensure rk_hdptx_phy_clk_set_rate() won't be invoked with
         * a different rate argument.
         */
-       return DIV_ROUND_CLOSEST_ULL(hdptx->hdmi_cfg.tmds_char_rate * 8, hdptx->hdmi_cfg.bpc);
+       req->rate = DIV_ROUND_CLOSEST_ULL(hdptx->hdmi_cfg.tmds_char_rate * 8,
+                                         hdptx->hdmi_cfg.bpc);
+
+       return 0;
 }
 
 static int rk_hdptx_phy_clk_set_rate(struct clk_hw *hw, unsigned long rate,
@@ -1895,7 +1898,7 @@ static const struct clk_ops hdptx_phy_clk_ops = {
        .prepare = rk_hdptx_phy_clk_prepare,
        .unprepare = rk_hdptx_phy_clk_unprepare,
        .recalc_rate = rk_hdptx_phy_clk_recalc_rate,
-       .round_rate = rk_hdptx_phy_clk_round_rate,
+       .determine_rate = rk_hdptx_phy_clk_determine_rate,
        .set_rate = rk_hdptx_phy_clk_set_rate,
 };