ARM: 5869/1: ixp4xx: implement sched_clock()
authorMikael Pettersson <mikpe@it.uu.se>
Sat, 9 Jan 2010 12:03:59 +0000 (13:03 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 27 Jan 2010 22:04:18 +0000 (22:04 +0000)
Add a better sched_clock() to the ixp4xx platform,
implemented via its clocksource support.

This is based on the sched_clock() I implemented for
the IOP platform. Tested on a ds101 ixp420 machine.

Signed-off-by: Mikael Pettersson <mikpe@it.uu.se>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-ixp4xx/common.c

index 3bbf40f6d964b277a7a153fa6a93e694c73ff9da..71728d36d501887f35fdff0ed67dd6714e2f9a3b 100644 (file)
@@ -426,6 +426,17 @@ static void __init ixp4xx_clocksource_init(void)
        clocksource_register(&clocksource_ixp4xx);
 }
 
+/*
+ * sched_clock()
+ */
+unsigned long long sched_clock(void)
+{
+       cycle_t cyc = ixp4xx_get_cycles(NULL);
+       struct clocksource *cs = &clocksource_ixp4xx;
+
+       return clocksource_cyc2ns(cyc, cs->mult, cs->shift);
+}
+
 /*
  * clockevents
  */