diff --git a/drivers/clk/tegra/clk-utils.c b/drivers/clk/tegra/clk-utils.c index 4283f314c513..6518ebc1295b 100644 --- a/drivers/clk/tegra/clk-utils.c +++ b/drivers/clk/tegra/clk-utils.c @@ -12,11 +12,11 @@ int div_frac_get(unsigned long rate, unsigned parent_rate, u8 width, u8 frac_width, u8 flags) { - u64 divider_ux1 = parent_rate; + s64 divider_ux1 = parent_rate; int mul; if (!rate) - return 0; + return div_mask(width); mul = 1 << frac_width; @@ -31,9 +31,6 @@ int div_frac_get(unsigned long rate, unsigned parent_rate, u8 width, if (flags & TEGRA_DIVIDER_INT) divider_ux1 *= mul; - if (!div1_5_not_allowed && divider_ux1 < mul) - return 0; - divider_ux1 -= mul; if (divider_ux1 > div_mask(width))