]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
clk: divider: remove round_rate() in favor of determine_rate()
authorBrian Masney <bmasney@redhat.com>
Mon, 11 Aug 2025 15:19:43 +0000 (11:19 -0400)
committerBrian Masney <bmasney@redhat.com>
Mon, 8 Sep 2025 13:41:31 +0000 (09:41 -0400)
This driver implements both the determine_rate() and round_rate() clk
ops, and the round_rate() clk ops is deprecated. When both are defined,
clk_core_determine_round_nolock() from the clk core will only use the
determine_rate() clk ops. Also all clk drivers that directly calls
divider's round_rate() have been migrated over to determine_rate(). So
let's remove the round_rate() clk ops.

Reviewed-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Brian Masney <bmasney@redhat.com>
drivers/clk/clk-divider.c

index c1f426b8a5043cb5a1de08e1da385928ec54a2ed..2601b6155afb7391c6a0ffb91c58fa66cde98197 100644 (file)
@@ -431,27 +431,6 @@ long divider_ro_round_rate_parent(struct clk_hw *hw, struct clk_hw *parent,
 }
 EXPORT_SYMBOL_GPL(divider_ro_round_rate_parent);
 
-static long clk_divider_round_rate(struct clk_hw *hw, unsigned long rate,
-                               unsigned long *prate)
-{
-       struct clk_divider *divider = to_clk_divider(hw);
-
-       /* if read only, just return current value */
-       if (divider->flags & CLK_DIVIDER_READ_ONLY) {
-               u32 val;
-
-               val = clk_div_readl(divider) >> divider->shift;
-               val &= clk_div_mask(divider->width);
-
-               return divider_ro_round_rate(hw, rate, prate, divider->table,
-                                            divider->width, divider->flags,
-                                            val);
-       }
-
-       return divider_round_rate(hw, rate, prate, divider->table,
-                                 divider->width, divider->flags);
-}
-
 static int clk_divider_determine_rate(struct clk_hw *hw,
                                      struct clk_rate_request *req)
 {
@@ -527,7 +506,6 @@ static int clk_divider_set_rate(struct clk_hw *hw, unsigned long rate,
 
 const struct clk_ops clk_divider_ops = {
        .recalc_rate = clk_divider_recalc_rate,
-       .round_rate = clk_divider_round_rate,
        .determine_rate = clk_divider_determine_rate,
        .set_rate = clk_divider_set_rate,
 };
@@ -535,7 +513,6 @@ EXPORT_SYMBOL_GPL(clk_divider_ops);
 
 const struct clk_ops clk_divider_ro_ops = {
        .recalc_rate = clk_divider_recalc_rate,
-       .round_rate = clk_divider_round_rate,
        .determine_rate = clk_divider_determine_rate,
 };
 EXPORT_SYMBOL_GPL(clk_divider_ro_ops);