Loading arch/arm/mach-msm/clock.c +14 −1 Original line number Diff line number Diff line Loading @@ -544,13 +544,26 @@ EXPORT_SYMBOL(clk_set_rate); long clk_round_rate(struct clk *clk, unsigned long rate) { long rrate; unsigned long fmax = 0, i; if (IS_ERR_OR_NULL(clk)) return -EINVAL; if (!clk->ops->round_rate) return -ENOSYS; return clk->ops->round_rate(clk, rate); for (i = 0; i < clk->num_fmax; i++) fmax = max(fmax, clk->fmax[i]); if (!fmax) fmax = ULONG_MAX; rate = min(rate, fmax); rrate = clk->ops->round_rate(clk, rate); if (rrate > fmax) return -EINVAL; return rrate; } EXPORT_SYMBOL(clk_round_rate); Loading Loading
arch/arm/mach-msm/clock.c +14 −1 Original line number Diff line number Diff line Loading @@ -544,13 +544,26 @@ EXPORT_SYMBOL(clk_set_rate); long clk_round_rate(struct clk *clk, unsigned long rate) { long rrate; unsigned long fmax = 0, i; if (IS_ERR_OR_NULL(clk)) return -EINVAL; if (!clk->ops->round_rate) return -ENOSYS; return clk->ops->round_rate(clk, rate); for (i = 0; i < clk->num_fmax; i++) fmax = max(fmax, clk->fmax[i]); if (!fmax) fmax = ULONG_MAX; rate = min(rate, fmax); rrate = clk->ops->round_rate(clk, rate); if (rrate > fmax) return -EINVAL; return rrate; } EXPORT_SYMBOL(clk_round_rate); Loading