aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-u300/timer.c
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@stericsson.com>2010-08-05 07:58:58 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-08-10 22:10:55 +0100
commitb7276b236dcf400003179e77f5b4b4c05e1fb29c (patch)
treebd6d2ca778640be672356bf92808450dfa01bede /arch/arm/mach-u300/timer.c
parentARM: 6295/1: fix U300 apb_pclk split (diff)
downloadlinux-dev-b7276b236dcf400003179e77f5b4b4c05e1fb29c.tar.xz
linux-dev-b7276b236dcf400003179e77f5b4b4c05e1fb29c.zip
ARM: 6296/1: clock U300 intcon and timer properly
This removes the quirks to clock the U300 VIC and timer by custom hooks and moves the control out to the clock framework where it belongs. This is possible now that clocks are available early. Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-u300/timer.c')
-rw-r--r--arch/arm/mach-u300/timer.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/arm/mach-u300/timer.c b/arch/arm/mach-u300/timer.c
index 26d26f5100fe..01f161831956 100644
--- a/arch/arm/mach-u300/timer.c
+++ b/arch/arm/mach-u300/timer.c
@@ -15,6 +15,8 @@
#include <linux/clocksource.h>
#include <linux/types.h>
#include <linux/io.h>
+#include <linux/clk.h>
+#include <linux/err.h>
#include <mach/hardware.h>
@@ -23,7 +25,6 @@
#include <asm/mach/time.h>
#include <asm/mach/irq.h>
-#include "clock.h"
/*
* APP side special timer registers
@@ -367,7 +368,13 @@ unsigned long long notrace sched_clock(void)
*/
static void __init u300_timer_init(void)
{
- u300_enable_timer_clock();
+ struct clk *clk;
+
+ /* Clock the interrupt controller */
+ clk = clk_get_sys("apptimer", NULL);
+ BUG_ON(IS_ERR(clk));
+ clk_enable(clk);
+
/*
* Disable the "OS" and "DD" timers - these are designed for Symbian!
* Example usage in cnh1601578 cpu subsystem pd_timer_app.c