aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/clk
diff options
context:
space:
mode:
authorMichael Turquette <mturquette@linaro.org>2015-01-29 17:22:50 -0500
committerMichael Turquette <mturquette@linaro.org>2015-02-02 17:23:41 -0500
commitb09d6d99102504a929cfaba4cd0e07658d7f01d1 (patch)
tree57bf5300cd8920152daaa79875b3910700eb5170 /drivers/clk
parentc87ea8a8a0af8b76c1e4d1bd67ed7859c04477a7 (diff)
clk: remove clk-private.h
Private clock framework data structures should be private, surprisingly. Now that all platforms and drivers have been updated to remove static initializations of struct clk and struct clk_core objects and all references to clk-private.h have been removed we can move the definitions of these structures into drivers/clk/clk.c and delete the header. Additionally the ugly DEFINE_CLK macros have been removed. Those were used for static definitions of struct clk objects. That practice is no longer allowed. Finally __clk_init is staticized as it is no longer declared in any header. Reviewed-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Michael Turquette <mturquette@linaro.org>
Diffstat (limited to 'drivers/clk')
-rw-r--r--drivers/clk/clk.c41
1 files changed, 39 insertions, 2 deletions
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index d60c193b81aa..cdc1fa58e4f1 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -9,7 +9,7 @@
9 * Standard functionality for the common clock API. See Documentation/clk.txt 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#include <linux/clk/clk-conf.h> 13#include <linux/clk/clk-conf.h>
14#include <linux/module.h> 14#include <linux/module.h>
15#include <linux/mutex.h> 15#include <linux/mutex.h>
@@ -46,6 +46,43 @@ static unsigned long clk_core_round_rate_nolock(struct clk_core *clk,
46 unsigned long rate); 46 unsigned long rate);
47static struct clk_core *clk_core_lookup(const char *name); 47static struct clk_core *clk_core_lookup(const char *name);
48 48
49/*** private data structures ***/
50
51struct 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
80struct clk {
81 struct clk_core *core;
82 const char *dev_id;
83 const char *con_id;
84};
85
49/*** locking ***/ 86/*** locking ***/
50static void clk_prepare_lock(void) 87static void clk_prepare_lock(void)
51{ 88{
@@ -1995,7 +2032,7 @@ int clk_get_phase(struct clk *clk)
1995 * Initializes the lists in struct clk_core, queries the hardware for the 2032 * Initializes the lists in struct clk_core, queries the hardware for the
1996 * parent and rate and sets them both. 2033 * parent and rate and sets them both.
1997 */ 2034 */
1998int __clk_init(struct device *dev, struct clk *clk_user) 2035static int __clk_init(struct device *dev, struct clk *clk_user)
1999{ 2036{
2000 int i, ret = 0; 2037 int i, ret = 0;
2001 struct clk_core *orphan; 2038 struct clk_core *orphan;