diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-03-01 11:18:39 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-05-02 04:35:38 -0400 |
commit | 9bf5b2ef673237e0e43161c56f70ac8bf24e43f9 (patch) | |
tree | 6b75855102d54da6ff6d7023ae00e25610e44f92 /arch/arm/mach-versatile | |
parent | 3081e43b97cb50a80ebd98ce4b60e4853ad38424 (diff) |
ARM: Indirect round/set_rate operations through clk structure
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-versatile')
-rw-r--r-- | arch/arm/mach-versatile/core.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-versatile/include/mach/clkdev.h | 4 |
2 files changed, 9 insertions, 3 deletions
diff --git a/arch/arm/mach-versatile/core.c b/arch/arm/mach-versatile/core.c index 957bbde83d34..60baba65635e 100644 --- a/arch/arm/mach-versatile/core.c +++ b/arch/arm/mach-versatile/core.c | |||
@@ -381,9 +381,15 @@ static void versatile_oscvco_set(struct clk *clk, struct icst_vco vco) | |||
381 | writel(0, sys_lock); | 381 | writel(0, sys_lock); |
382 | } | 382 | } |
383 | 383 | ||
384 | static const struct clk_ops osc4_clk_ops = { | ||
385 | .round = icst_clk_round, | ||
386 | .set = icst_clk_set, | ||
387 | .setvco = versatile_oscvco_set, | ||
388 | }; | ||
389 | |||
384 | static struct clk osc4_clk = { | 390 | static struct clk osc4_clk = { |
391 | .ops = &osc4_clk_ops, | ||
385 | .params = &versatile_oscvco_params, | 392 | .params = &versatile_oscvco_params, |
386 | .setvco = versatile_oscvco_set, | ||
387 | }; | 393 | }; |
388 | 394 | ||
389 | /* | 395 | /* |
diff --git a/arch/arm/mach-versatile/include/mach/clkdev.h b/arch/arm/mach-versatile/include/mach/clkdev.h index baea03c9ad45..e58d0771b64e 100644 --- a/arch/arm/mach-versatile/include/mach/clkdev.h +++ b/arch/arm/mach-versatile/include/mach/clkdev.h | |||
@@ -1,13 +1,13 @@ | |||
1 | #ifndef __ASM_MACH_CLKDEV_H | 1 | #ifndef __ASM_MACH_CLKDEV_H |
2 | #define __ASM_MACH_CLKDEV_H | 2 | #define __ASM_MACH_CLKDEV_H |
3 | 3 | ||
4 | #include <asm/hardware/icst.h> | 4 | #include <plat/clock.h> |
5 | 5 | ||
6 | struct clk { | 6 | struct clk { |
7 | unsigned long rate; | 7 | unsigned long rate; |
8 | const struct clk_ops *ops; | ||
8 | const struct icst_params *params; | 9 | const struct icst_params *params; |
9 | void __iomem *vcoreg; | 10 | void __iomem *vcoreg; |
10 | void (*setvco)(struct clk *, struct icst_vco vco); | ||
11 | }; | 11 | }; |
12 | 12 | ||
13 | #define __clk_get(clk) ({ 1; }) | 13 | #define __clk_get(clk) ({ 1; }) |