diff options
Diffstat (limited to 'drivers/clk/clkdev.c')
| -rw-r--r-- | drivers/clk/clkdev.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/drivers/clk/clkdev.c b/drivers/clk/clkdev.c index 0fc0a79852de..6db161f64ae0 100644 --- a/drivers/clk/clkdev.c +++ b/drivers/clk/clkdev.c | |||
| @@ -32,10 +32,9 @@ static DEFINE_MUTEX(clocks_mutex); | |||
| 32 | * Then we take the most specific entry - with the following | 32 | * Then we take the most specific entry - with the following |
| 33 | * order of precedence: dev+con > dev only > con only. | 33 | * order of precedence: dev+con > dev only > con only. |
| 34 | */ | 34 | */ |
| 35 | static struct clk *clk_find(const char *dev_id, const char *con_id) | 35 | static struct clk_lookup *clk_find(const char *dev_id, const char *con_id) |
| 36 | { | 36 | { |
| 37 | struct clk_lookup *p; | 37 | struct clk_lookup *p, *cl = NULL; |
| 38 | struct clk *clk = NULL; | ||
| 39 | int match, best = 0; | 38 | int match, best = 0; |
| 40 | 39 | ||
| 41 | list_for_each_entry(p, &clocks, node) { | 40 | list_for_each_entry(p, &clocks, node) { |
| @@ -52,27 +51,27 @@ static struct clk *clk_find(const char *dev_id, const char *con_id) | |||
| 52 | } | 51 | } |
| 53 | 52 | ||
| 54 | if (match > best) { | 53 | if (match > best) { |
| 55 | clk = p->clk; | 54 | cl = p; |
| 56 | if (match != 3) | 55 | if (match != 3) |
| 57 | best = match; | 56 | best = match; |
| 58 | else | 57 | else |
| 59 | break; | 58 | break; |
| 60 | } | 59 | } |
| 61 | } | 60 | } |
| 62 | return clk; | 61 | return cl; |
| 63 | } | 62 | } |
| 64 | 63 | ||
| 65 | struct clk *clk_get_sys(const char *dev_id, const char *con_id) | 64 | struct clk *clk_get_sys(const char *dev_id, const char *con_id) |
| 66 | { | 65 | { |
| 67 | struct clk *clk; | 66 | struct clk_lookup *cl; |
| 68 | 67 | ||
| 69 | mutex_lock(&clocks_mutex); | 68 | mutex_lock(&clocks_mutex); |
| 70 | clk = clk_find(dev_id, con_id); | 69 | cl = clk_find(dev_id, con_id); |
| 71 | if (clk && !__clk_get(clk)) | 70 | if (cl && !__clk_get(cl->clk)) |
| 72 | clk = NULL; | 71 | cl = NULL; |
| 73 | mutex_unlock(&clocks_mutex); | 72 | mutex_unlock(&clocks_mutex); |
| 74 | 73 | ||
| 75 | return clk ? clk : ERR_PTR(-ENOENT); | 74 | return cl ? cl->clk : ERR_PTR(-ENOENT); |
| 76 | } | 75 | } |
| 77 | EXPORT_SYMBOL(clk_get_sys); | 76 | EXPORT_SYMBOL(clk_get_sys); |
| 78 | 77 | ||
