diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-07 15:17:40 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-07 15:17:40 -0400 |
commit | 5b6b54982258c330247957a8d877b9851ac69d53 (patch) | |
tree | 567e4b3391e0c6689cf511789fb512ef7385c16f /include/asm-sh/clock.h | |
parent | 35c74823cb382c610be908f1b92f980b84e7c37c (diff) | |
parent | 39374aadcd0159b4744ab456f4efa100bea84bd4 (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.h | 32 |
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 | ||
19 | struct clk { | 19 | struct clk { |
@@ -48,6 +48,34 @@ void clk_recalc_rate(struct clk *); | |||
48 | int clk_register(struct clk *); | 48 | int clk_register(struct clk *); |
49 | void clk_unregister(struct clk *); | 49 | void clk_unregister(struct clk *); |
50 | 50 | ||
51 | int 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 | */ | ||
60 | int clk_set_rate_ex(struct clk *clk, unsigned long rate, int algo_id); | ||
52 | 61 | ||
62 | enum 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 */ |