div->flags, div->width);
 }
 
-static long clk_divider_round_rate(struct clk_hw *hw, unsigned long rate,
-                                  unsigned long *prate)
+static int clk_divider_determine_rate(struct clk_hw *hw,
+                                     struct clk_rate_request *req)
 {
-       return clk_divider_ops.round_rate(hw, rate, prate);
+       return clk_divider_ops.determine_rate(hw, req);
 }
 
 static int clk_divider_gate_set_rate(struct clk_hw *hw, unsigned long rate,
 
 static const struct clk_ops clk_divider_gate_ro_ops = {
        .recalc_rate = clk_divider_gate_recalc_rate_ro,
-       .round_rate = clk_divider_round_rate,
+       .determine_rate = clk_divider_determine_rate,
 };
 
 static const struct clk_ops clk_divider_gate_ops = {
        .recalc_rate = clk_divider_gate_recalc_rate,
-       .round_rate = clk_divider_round_rate,
+       .determine_rate = clk_divider_determine_rate,
        .set_rate = clk_divider_gate_set_rate,
        .enable = clk_divider_enable,
        .disable = clk_divider_disable,