Lines Matching refs:clk

12 #include <linux/clk.h>
23 #include "clk.h"
27 static struct clk cpu_clk_generic[4];
38 struct clk *clk_get_cpu(void)
43 struct clk *clk_get_fpi(void)
49 struct clk *clk_get_io(void)
55 struct clk *clk_get_ppe(void)
61 static inline int clk_good(struct clk *clk)
63 return clk && !IS_ERR(clk);
66 unsigned long clk_get_rate(struct clk *clk)
68 if (unlikely(!clk_good(clk)))
71 if (clk->rate != 0)
72 return clk->rate;
74 if (clk->get_rate != NULL)
75 return clk->get_rate();
81 int clk_set_rate(struct clk *clk, unsigned long rate)
83 if (unlikely(!clk_good(clk)))
85 if (clk->rates && *clk->rates) {
86 unsigned long *r = clk->rates;
91 pr_err("clk %s.%s: trying to set invalid rate %ld\n",
92 clk->cl.dev_id, clk->cl.con_id, rate);
96 clk->rate = rate;
101 long clk_round_rate(struct clk *clk, unsigned long rate)
103 if (unlikely(!clk_good(clk)))
105 if (clk->rates && *clk->rates) {
106 unsigned long *r = clk->rates;
111 return clk->rate;
118 int clk_enable(struct clk *clk)
120 if (unlikely(!clk_good(clk)))
123 if (clk->enable)
124 return clk->enable(clk);
130 void clk_disable(struct clk *clk)
132 if (unlikely(!clk_good(clk)))
135 if (clk->disable)
136 clk->disable(clk);
140 int clk_activate(struct clk *clk)
142 if (unlikely(!clk_good(clk)))
145 if (clk->activate)
146 return clk->activate(clk);
152 void clk_deactivate(struct clk *clk)
154 if (unlikely(!clk_good(clk)))
157 if (clk->deactivate)
158 clk->deactivate(clk);
162 struct clk *clk_get_parent(struct clk *clk)
168 int clk_set_parent(struct clk *clk, struct clk *parent)
192 struct clk *clk;
196 clk = clk_get_cpu();
197 mips_hpt_frequency = clk_get_rate(clk) / get_counter_resolution();
199 pr_info("CPU Clock: %ldMHz\n", clk_get_rate(clk) / 1000000);
200 clk_put(clk);