diff options
author | Magnus Damm <damm@igel.co.jp> | 2009-05-28 09:11:31 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-06-01 05:07:37 -0400 |
commit | a1153e27eec25e9963f5843ba8932952bd9847ac (patch) | |
tree | 76ef9b57aa5734797a862ad576f4f4e74ab8a3f0 /arch/sh/include/asm/clock.h | |
parent | e89d53e60593ee7066e1d36ab5c1ccf2648f5f53 (diff) |
sh: shared div4 clock code
Add shared code for 4-bit divisor clocks.
Processor specific code can use SH_CLK_DIV4()
to initialize div4 clocks, and then use
sh_clk_div4_register() for registration.
Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include/asm/clock.h')
-rw-r--r-- | arch/sh/include/asm/clock.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/sh/include/asm/clock.h b/arch/sh/include/asm/clock.h index f43d3e72d266..7435e40022e6 100644 --- a/arch/sh/include/asm/clock.h +++ b/arch/sh/include/asm/clock.h | |||
@@ -3,6 +3,7 @@ | |||
3 | 3 | ||
4 | #include <linux/list.h> | 4 | #include <linux/list.h> |
5 | #include <linux/seq_file.h> | 5 | #include <linux/seq_file.h> |
6 | #include <linux/cpufreq.h> | ||
6 | #include <linux/clk.h> | 7 | #include <linux/clk.h> |
7 | #include <linux/err.h> | 8 | #include <linux/err.h> |
8 | 9 | ||
@@ -41,6 +42,7 @@ struct clk { | |||
41 | unsigned long arch_flags; | 42 | unsigned long arch_flags; |
42 | void *priv; | 43 | void *priv; |
43 | struct dentry *dentry; | 44 | struct dentry *dentry; |
45 | struct cpufreq_frequency_table *freq_table; | ||
44 | }; | 46 | }; |
45 | 47 | ||
46 | struct clk_lookup { | 48 | struct clk_lookup { |
@@ -130,4 +132,17 @@ long clk_rate_table_round(struct clk *clk, | |||
130 | 132 | ||
131 | int sh_clk_mstp32_register(struct clk *clks, int nr); | 133 | int sh_clk_mstp32_register(struct clk *clks, int nr); |
132 | 134 | ||
135 | #define SH_CLK_DIV4(_name, _parent, _reg, _shift, _div_bitmap, _flags) \ | ||
136 | { \ | ||
137 | .name = _name, \ | ||
138 | .parent = _parent, \ | ||
139 | .enable_reg = (void __iomem *)_reg, \ | ||
140 | .enable_bit = _shift, \ | ||
141 | .arch_flags = _div_bitmap, \ | ||
142 | .flags = _flags, \ | ||
143 | } | ||
144 | |||
145 | int sh_clk_div4_register(struct clk *clks, int nr, | ||
146 | struct clk_div_mult_table *table); | ||
147 | |||
133 | #endif /* __ASM_SH_CLOCK_H */ | 148 | #endif /* __ASM_SH_CLOCK_H */ |