clk: stm32mp1: Switch to clk_divider.determine_rate
authorMartin Blumenstingl <martin.blumenstingl@googlemail.com>
Fri, 2 Jul 2021 22:51:45 +0000 (00:51 +0200)
committerStephen Boyd <sboyd@kernel.org>
Fri, 6 Aug 2021 00:36:10 +0000 (17:36 -0700)
.determine_rate is meant to replace .round_rate in CCF in the future.
Switch over to .determine_rate now that clk_divider_ops has gained
support for that.

Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>
Cc: linux-stm32@st-md-mailman.stormreply.com
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Link: https://lore.kernel.org/r/20210702225145.2643303-7-martin.blumenstingl@googlemail.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/clk-stm32mp1.c

index 256575b..4bd1fe7 100644 (file)
@@ -1076,14 +1076,10 @@ static int clk_divider_rtc_set_rate(struct clk_hw *hw, unsigned long rate,
 
 static int clk_divider_rtc_determine_rate(struct clk_hw *hw, struct clk_rate_request *req)
 {
-       unsigned long best_parent_rate = req->best_parent_rate;
+       if (req->best_parent_hw == clk_hw_get_parent_by_index(hw, HSE_RTC))
+               return clk_divider_ops.determine_rate(hw, req);
 
-       if (req->best_parent_hw == clk_hw_get_parent_by_index(hw, HSE_RTC)) {
-               req->rate = clk_divider_ops.round_rate(hw, req->rate, &best_parent_rate);
-               req->best_parent_rate = best_parent_rate;
-       } else {
-               req->rate = best_parent_rate;
-       }
+       req->rate = req->best_parent_rate;
 
        return 0;
 }