diff options
author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2016-01-05 04:43:41 +0100 |
---|---|---|
committer | Stephen Boyd <sboyd@codeaurora.org> | 2016-01-30 01:45:32 +0100 |
commit | 653d1452b452207999b67ab943c27cd80b7bd430 (patch) | |
tree | 1efc23d06e71a13f461596fc4c2aa02073caa894 /drivers/clk/clk-divider.c | |
parent | clk: vt8500: fix sign of possible PLL values (diff) | |
download | linux-653d1452b452207999b67ab943c27cd80b7bd430.tar.xz linux-653d1452b452207999b67ab943c27cd80b7bd430.zip |
clk: optimize the divider walk in clk_divider_bestdiv()
Because _next_div() returns a valid divider, there is no need to
consult _is_valid_div() for the validity of the divider in every
iteration.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Diffstat (limited to 'drivers/clk/clk-divider.c')
-rw-r--r-- | drivers/clk/clk-divider.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/clk/clk-divider.c b/drivers/clk/clk-divider.c index 7d62dc30e969..00e035b51c69 100644 --- a/drivers/clk/clk-divider.c +++ b/drivers/clk/clk-divider.c @@ -303,9 +303,8 @@ static int clk_divider_bestdiv(struct clk_hw *hw, unsigned long rate, */ maxdiv = min(ULONG_MAX / rate, maxdiv); - for (i = 1; i <= maxdiv; i = _next_div(table, i, flags)) { - if (!_is_valid_div(table, i, flags)) - continue; + for (i = _next_div(table, 0, flags); i <= maxdiv; + i = _next_div(table, i, flags)) { if (rate * i == parent_rate_saved) { /* * It's the most ideal case if the requested rate can be |