summaryrefslogtreecommitdiffstats
path: root/arch/metag/kernel/time.c
diff options
context:
space:
mode:
authorJames Hogan <james.hogan@imgtec.com>2013-01-15 15:27:45 +0000
committerJames Hogan <james.hogan@imgtec.com>2013-06-13 12:54:41 +0100
commitcaa279dda4d9a442d824cd333e8b72078b83e855 (patch)
tree609d39ecdf728bc759ab4a3e8775475b1e4636b7 /arch/metag/kernel/time.c
parentc24d2976c7834aa948f9d8a48ad4285cfbaf1c3a (diff)
downloadop-kernel-dev-caa279dda4d9a442d824cd333e8b72078b83e855.zip
op-kernel-dev-caa279dda4d9a442d824cd333e8b72078b83e855.tar.gz
metag: init common clk and use "core" clk
If the common clock framework is enabled, call of_clk_init(NULL) in time_init() to register device tree clocks with the clock framework. After this time_init() calls a new function init_metag_clocks(), which looks for a clock named "core" in the node compatible with "img,meta" (usually the root node). If found the get_core_freq machine callback is overridden to obtain the core clock frequency using that clock. Signed-off-by: James Hogan <james.hogan@imgtec.com> Cc: Mike Turquette <mturquette@linaro.org> Cc: Grant Likely <grant.likely@linaro.org> Cc: Rob Herring <rob.herring@calxeda.com> Cc: devicetree-discuss@lists.ozlabs.org
Diffstat (limited to 'arch/metag/kernel/time.c')
-rw-r--r--arch/metag/kernel/time.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/arch/metag/kernel/time.c b/arch/metag/kernel/time.c
index 17dc107..f1c8c53 100644
--- a/arch/metag/kernel/time.c
+++ b/arch/metag/kernel/time.c
@@ -5,11 +5,21 @@
*
*/
-#include <linux/init.h>
-
#include <clocksource/metag_generic.h>
+#include <linux/clk-provider.h>
+#include <linux/init.h>
+#include <asm/clock.h>
void __init time_init(void)
{
+#ifdef CONFIG_COMMON_CLK
+ /* Init clocks from device tree */
+ of_clk_init(NULL);
+#endif
+
+ /* Init meta clocks, particularly the core clock */
+ init_metag_clocks();
+
+ /* Set up the timer clock sources */
metag_generic_timer_init();
}
OpenPOWER on IntegriCloud