summaryrefslogtreecommitdiff
path: root/arch/mips/ath79/clock.c
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2013-08-28 12:41:44 +0400
committerRalf Baechle <ralf@linux-mips.org>2013-09-04 01:22:17 +0400
commit2310780244d5c3b6cc843d4cc0b63332016678a0 (patch)
treea5d9acd309caa01f549d4c895687fe91235e2805 /arch/mips/ath79/clock.c
parent837f036c8ab201965b9fb0f6b743a415f555493f (diff)
downloadlinux-2310780244d5c3b6cc843d4cc0b63332016678a0.tar.xz
MIPS: ath79: Use a helper function to get system clock rates
The ath79 platform uses similar code to get the rate of various clocks during init. Separate the similar code into a new helper function and use that to avoid code duplication. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/5778/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/ath79/clock.c')
-rw-r--r--arch/mips/ath79/clock.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/mips/ath79/clock.c b/arch/mips/ath79/clock.c
index 4378d63bc3ed..c8351b46e566 100644
--- a/arch/mips/ath79/clock.c
+++ b/arch/mips/ath79/clock.c
@@ -400,6 +400,22 @@ void __init ath79_clocks_init(void)
(ath79_ref_clk.rate / 1000) % 1000);
}
+unsigned long __init
+ath79_get_sys_clk_rate(const char *id)
+{
+ struct clk *clk;
+ unsigned long rate;
+
+ clk = clk_get(NULL, id);
+ if (IS_ERR(clk))
+ panic("unable to get %s clock, err=%d", id, (int) PTR_ERR(clk));
+
+ rate = clk_get_rate(clk);
+ clk_put(clk);
+
+ return rate;
+}
+
/*
* Linux clock API
*/