summaryrefslogtreecommitdiffstats
path: root/arch/sh/include
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-05-11 22:51:05 +0200
committerPaul Mundt <lethal@linux-sh.org>2009-05-11 22:51:05 +0200
commitaa87aa343f2cd236b5eccd643abd4df918ed5c4f (patch)
tree2a6dbd7be7f6ce9d00c0800e8a10a7cb7ed7c7d1 /arch/sh/include
parentsh: clkfwk: Fix up the clk_enable() error path. (diff)
downloadlinux-aa87aa343f2cd236b5eccd643abd4df918ed5c4f.tar.xz
linux-aa87aa343f2cd236b5eccd643abd4df918ed5c4f.zip
sh: clkfwk: Improve the generic clk_set_parent() implementation.
This causes the generic clk_set_parent() implementation to be a bit more intelligent. A clk_reparent() is added to move the clock over to the new parent's sibling list, which then allows the generic rate propagation code to succeed. This also becomes a nop if the new and old parents are unchanged. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include')
-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 5de72eef9724..fdb915608dbc 100644
--- a/arch/sh/include/asm/clock.h
+++ b/arch/sh/include/asm/clock.h
@@ -48,6 +48,7 @@ int clk_init(void);
unsigned long followparent_recalc(struct clk *);
void recalculate_root_clocks(void);
void propagate_rate(struct clk *);
+int clk_reparent(struct clk *child, struct clk *parent);
void clk_recalc_rate(struct clk *);
int clk_register(struct clk *);
void clk_unregister(struct clk *);