static u32 bcm2835_clock_choose_div(struct clk_hw *hw,
                                    unsigned long rate,
-                                   unsigned long parent_rate,
-                                   bool round_up)
+                                   unsigned long parent_rate)
 {
        struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw);
        const struct bcm2835_clock_data *data = clock->data;
 
        rem = do_div(temp, rate);
        div = temp;
-
-       /* Round up and mask off the unused bits */
-       if (round_up && ((div & unused_frac_mask) != 0 || rem != 0))
-               div += unused_frac_mask + 1;
        div &= ~unused_frac_mask;
 
        /* different clamping limits apply for a mash clock */
        struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw);
        struct bcm2835_cprman *cprman = clock->cprman;
        const struct bcm2835_clock_data *data = clock->data;
-       u32 div = bcm2835_clock_choose_div(hw, rate, parent_rate, false);
+       u32 div = bcm2835_clock_choose_div(hw, rate, parent_rate);
        u32 ctl;
 
        spin_lock(&cprman->regs_lock);
 
        if (!(BIT(parent_idx) & data->set_rate_parent)) {
                *prate = clk_hw_get_rate(parent);
-               *div = bcm2835_clock_choose_div(hw, rate, *prate, true);
+               *div = bcm2835_clock_choose_div(hw, rate, *prate);
 
                *avgrate = bcm2835_clock_rate_from_divisor(clock, *prate, *div);