]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
MIPS: Alchemy: convert from round_rate() to determine_rate()
authorBrian Masney <bmasney@redhat.com>
Sun, 10 Aug 2025 22:30:23 +0000 (18:30 -0400)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Fri, 29 Aug 2025 20:34:29 +0000 (22:34 +0200)
The round_rate() clk ops is deprecated, so migrate this driver from
round_rate() to determine_rate() using the Coccinelle semantic patch
appended to the "under-the-cut" portion of the patch.

Note that prior to running Coccinelle, alchemy_clk_aux_roundr() was
renamed to alchemy_clk_aux_round_rate(). A few minor style cleanups
were also done by hand.

Signed-off-by: Brian Masney <bmasney@redhat.com>
Tested-by: Manuel Lauss <manuel.lauss@gmail.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/alchemy/common/clock.c

index 6c8996e20a7ddc4ddaf924fc43a98c882c4110f7..551b0d21d9dc4b67d9909c0305db659daa8e84d9 100644 (file)
@@ -211,30 +211,34 @@ static int alchemy_clk_aux_setr(struct clk_hw *hw,
        return 0;
 }
 
-static long alchemy_clk_aux_roundr(struct clk_hw *hw,
-                                           unsigned long rate,
-                                           unsigned long *parent_rate)
+static int alchemy_clk_aux_determine_rate(struct clk_hw *hw,
+                                         struct clk_rate_request *req)
 {
        struct alchemy_auxpll_clk *a = to_auxpll_clk(hw);
        unsigned long mult;
 
-       if (!rate || !*parent_rate)
+       if (!req->rate || !req->best_parent_rate) {
+               req->rate = 0;
+
                return 0;
+       }
 
-       mult = rate / (*parent_rate);
+       mult = req->rate / req->best_parent_rate;
 
        if (mult && (mult < 7))
                mult = 7;
        if (mult > a->maxmult)
                mult = a->maxmult;
 
-       return (*parent_rate) * mult;
+       req->rate = req->best_parent_rate * mult;
+
+       return 0;
 }
 
 static const struct clk_ops alchemy_clkops_aux = {
        .recalc_rate    = alchemy_clk_aux_recalc,
        .set_rate       = alchemy_clk_aux_setr,
-       .round_rate     = alchemy_clk_aux_roundr,
+       .determine_rate = alchemy_clk_aux_determine_rate,
 };
 
 static struct clk __init *alchemy_clk_setup_aux(const char *parent_name,