diff options
author | Magnus Damm <damm@igel.co.jp> | 2008-07-17 19:09:51 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-07-28 18:10:36 +0900 |
commit | de9254263b8c8b1809520a1009dd516e41976519 (patch) | |
tree | 0f75d7a40992b036f79ddbd8851ba877360ebc2f | |
parent | 152fe36ebee82b63a9c6e510c52aaa82f4b1940d (diff) | |
download | blackbird-op-linux-de9254263b8c8b1809520a1009dd516e41976519.tar.gz blackbird-op-linux-de9254263b8c8b1809520a1009dd516e41976519.zip |
sh: Introduce clk_always_enable() function
Add SuperH specific funcion clk_always_enable(), useful to enable MSTPCR
bits in processor or board specific code.
Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-rw-r--r-- | include/asm-sh/clock.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/asm-sh/clock.h b/include/asm-sh/clock.h index 252f15540ddb..720dfab7b15e 100644 --- a/include/asm-sh/clock.h +++ b/include/asm-sh/clock.h @@ -5,6 +5,7 @@ #include <linux/list.h> #include <linux/seq_file.h> #include <linux/clk.h> +#include <linux/err.h> struct clk; @@ -47,6 +48,22 @@ void clk_recalc_rate(struct clk *); int clk_register(struct clk *); void clk_unregister(struct clk *); +static inline int clk_always_enable(const char *id) +{ + struct clk *clk; + int ret; + + clk = clk_get(NULL, id); + if (IS_ERR(clk)) + return PTR_ERR(clk); + + ret = clk_enable(clk); + if (ret) + clk_put(clk); + + return ret; +} + /* the exported API, in addition to clk_set_rate */ /** * clk_set_rate_ex - set the clock rate for a clock source, with additional parameter |