clk: Correct lookup logic in clk_fetch_parent_index()
authorTomasz Figa <tomasz.figa@gmail.com>
Sun, 29 Sep 2013 00:37:16 +0000 (02:37 +0200)
committer黄涛 <huangtao@rock-chips.com>
Wed, 8 Jan 2014 03:06:01 +0000 (11:06 +0800)
commitc370acc5104d0c15138c8ad8ffc6af623fcadfd3
treed1fbab5c840534fcdb1ca18dde87584a9c871801
parent862896e2694fb2decbeae6dfcd2586fb288c5ec8
clk: Correct lookup logic in clk_fetch_parent_index()

This function is supposed to iterate over all parents of given child
clock to find the index of given parent clock in its parent list,
using parent cache if possible and falling back to string compare
otherwise. However currently the logic falls back to string compare in
every iteration in which clock cache entry does not match given parent,
due to wrong check conditions.

This patch corrects the logic to continue the loop if parent cache entry
is present and does not match requested parent clock. In addition,
redundant checks for parent cache array presence are removed, because it
is always allocated in the beginning of the function.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
drivers/clk/clk.c