aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-sh/clock.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-07 15:17:40 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-07 15:17:40 -0400
commit5b6b54982258c330247957a8d877b9851ac69d53 (patch)
tree567e4b3391e0c6689cf511789fb512ef7385c16f /include/asm-sh/clock.h
parent35c74823cb382c610be908f1b92f980b84e7c37c (diff)
parent39374aadcd0159b4744ab456f4efa100bea84bd4 (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: (38 commits) sh: R7785RP board updates. sh: Update r7780rp defconfig. sh: Add die chain notifiers. sh: Fix APM emulation on hp6xx. sh: Wire up more IRQs for SH7709. sh: Solution Engine 7722 board support. sh: Fix r7780rp build. sh: kdump support. sh: Move clock reporting to its own proc entry. sh: Solution Engine SH7705 board and CPU updates. serial: sh-sci: Fix module clock refcount for serial console. serial: sh-sci: Fix module clock refcounting. sh: SH7722 clock framework support. sh: hp6xx pata_platform support. sh: Obey CONFIG_HZ for HZ definition. sh: Fix fstatat64() syscall. sh: se7780 PCI support. sh: SH7780 Solution Engine board support. sh: Add a dummy SH-4 PCIC fixup. sh: Tidy up L-BOX area5 addresses. ...
Diffstat (limited to 'include/asm-sh/clock.h')
-rw-r--r--include/asm-sh/clock.h32
1 files changed, 30 insertions, 2 deletions
diff --git a/include/asm-sh/clock.h b/include/asm-sh/clock.h
index 1df92807f8c5..386d797d86b7 100644
--- a/include/asm-sh/clock.h
+++ b/include/asm-sh/clock.h
@@ -13,7 +13,7 @@ struct clk_ops {
13 void (*enable)(struct clk *clk); 13 void (*enable)(struct clk *clk);
14 void (*disable)(struct clk *clk); 14 void (*disable)(struct clk *clk);
15 void (*recalc)(struct clk *clk); 15 void (*recalc)(struct clk *clk);
16 int (*set_rate)(struct clk *clk, unsigned long rate); 16 int (*set_rate)(struct clk *clk, unsigned long rate, int algo_id);
17}; 17};
18 18
19struct clk { 19struct clk {
@@ -48,6 +48,34 @@ void clk_recalc_rate(struct clk *);
48int clk_register(struct clk *); 48int clk_register(struct clk *);
49void clk_unregister(struct clk *); 49void clk_unregister(struct clk *);
50 50
51int show_clocks(struct seq_file *m); 51/* the exported API, in addition to clk_set_rate */
52/**
53 * clk_set_rate_ex - set the clock rate for a clock source, with additional parameter
54 * @clk: clock source
55 * @rate: desired clock rate in Hz
56 * @algo_id: algorithm id to be passed down to ops->set_rate
57 *
58 * Returns success (0) or negative errno.
59 */
60int clk_set_rate_ex(struct clk *clk, unsigned long rate, int algo_id);
52 61
62enum clk_sh_algo_id {
63 NO_CHANGE = 0,
64
65 IUS_N1_N1,
66 IUS_322,
67 IUS_522,
68 IUS_N11,
69
70 SB_N1,
71
72 SB3_N1,
73 SB3_32,
74 SB3_43,
75 SB3_54,
76
77 BP_N1,
78
79 IP_N1,
80};
53#endif /* __ASM_SH_CLOCK_H */ 81#endif /* __ASM_SH_CLOCK_H */