|
9 | 9 | * Standard functionality for the common clock API. See Documentation/clk.txt
|
10 | 10 | */
|
11 | 11 |
|
12 |
| -#include <linux/clk-private.h> |
| 12 | +#include <linux/clk-provider.h> |
13 | 13 | #include <linux/clk/clk-conf.h>
|
14 | 14 | #include <linux/module.h>
|
15 | 15 | #include <linux/mutex.h>
|
@@ -46,6 +46,43 @@ static unsigned long clk_core_round_rate_nolock(struct clk_core *clk,
|
46 | 46 | unsigned long rate);
|
47 | 47 | static struct clk_core *clk_core_lookup(const char *name);
|
48 | 48 |
|
| 49 | +/*** private data structures ***/ |
| 50 | + |
| 51 | +struct clk_core { |
| 52 | + const char *name; |
| 53 | + const struct clk_ops *ops; |
| 54 | + struct clk_hw *hw; |
| 55 | + struct module *owner; |
| 56 | + struct clk_core *parent; |
| 57 | + const char **parent_names; |
| 58 | + struct clk_core **parents; |
| 59 | + u8 num_parents; |
| 60 | + u8 new_parent_index; |
| 61 | + unsigned long rate; |
| 62 | + unsigned long new_rate; |
| 63 | + struct clk_core *new_parent; |
| 64 | + struct clk_core *new_child; |
| 65 | + unsigned long flags; |
| 66 | + unsigned int enable_count; |
| 67 | + unsigned int prepare_count; |
| 68 | + unsigned long accuracy; |
| 69 | + int phase; |
| 70 | + struct hlist_head children; |
| 71 | + struct hlist_node child_node; |
| 72 | + struct hlist_node debug_node; |
| 73 | + unsigned int notifier_count; |
| 74 | +#ifdef CONFIG_DEBUG_FS |
| 75 | + struct dentry *dentry; |
| 76 | +#endif |
| 77 | + struct kref ref; |
| 78 | +}; |
| 79 | + |
| 80 | +struct clk { |
| 81 | + struct clk_core *core; |
| 82 | + const char *dev_id; |
| 83 | + const char *con_id; |
| 84 | +}; |
| 85 | + |
49 | 86 | /*** locking ***/
|
50 | 87 | static void clk_prepare_lock(void)
|
51 | 88 | {
|
@@ -1995,7 +2032,7 @@ int clk_get_phase(struct clk *clk)
|
1995 | 2032 | * Initializes the lists in struct clk_core, queries the hardware for the
|
1996 | 2033 | * parent and rate and sets them both.
|
1997 | 2034 | */
|
1998 |
| -int __clk_init(struct device *dev, struct clk *clk_user) |
| 2035 | +static int __clk_init(struct device *dev, struct clk *clk_user) |
1999 | 2036 | {
|
2000 | 2037 | int i, ret = 0;
|
2001 | 2038 | struct clk_core *orphan;
|
|
0 commit comments