summaryrefslogtreecommitdiffstats
path: root/arch/sh/include/asm/clock.h
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-05-13 20:28:15 +0900
committerPaul Mundt <lethal@linux-sh.org>2009-05-13 20:28:15 +0900
commitcc96eace48fdf0f8925a74c6c1f7ffa512e458d2 (patch)
tree7a922b498e387495b3665c5428a932d7d328810e /arch/sh/include/asm/clock.h
parenta77b5ac0ea8e47c77008d3a9a9976dcfbc01c42a (diff)
downloadlinux-cc96eace48fdf0f8925a74c6c1f7ffa512e458d2.tar.gz
linux-cc96eace48fdf0f8925a74c6c1f7ffa512e458d2.tar.bz2
linux-cc96eace48fdf0f8925a74c6c1f7ffa512e458d2.zip
sh: clkfwk: rate table construction and rounding for SH7785.
This adds support for constructing a rate table by looking at potential divisors for a specified clock. Each FQRMR clock is given its own table. Presently each table is rebuilt when the parent propagates down a new rate, so some more logic needs to be added to do this more intelligently. Additionally, a fairly generic round_rate() implementation is then layered on top of it, which subsequently provides us with cpufreq support. 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.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/sh/include/asm/clock.h b/arch/sh/include/asm/clock.h
index 40cf3c07d7e6..da681de1500a 100644
--- a/arch/sh/include/asm/clock.h
+++ b/arch/sh/include/asm/clock.h
@@ -16,6 +16,7 @@ struct clk_ops {
int (*set_rate)(struct clk *clk, unsigned long rate, int algo_id);
int (*set_parent)(struct clk *clk, struct clk *parent);
long (*round_rate)(struct clk *clk, unsigned long rate);
+ void (*build_rate_table)(struct clk *clk);
};
struct clk {