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;
 }