uml: clocksource support

Add clocksource support.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Jeff Dike 2007-10-16 01:27:25 -07:00 committed by Linus Torvalds
parent 31ccc1f524
commit 791a644a8d

View File

@ -97,6 +97,21 @@ static irqreturn_t um_timer(int irq, void *dev)
return IRQ_HANDLED;
}
static cycle_t itimer_read(void)
{
return os_nsecs();
}
static struct clocksource itimer_clocksource = {
.name = "itimer",
.rating = 300,
.read = itimer_read,
.mask = CLOCKSOURCE_MASK(64),
.mult = 1,
.shift = 0,
.flags = CLOCK_SOURCE_IS_CONTINUOUS,
};
static void __init setup_itimer(void)
{
int err;
@ -111,6 +126,11 @@ static void __init setup_itimer(void)
clockevent_delta2ns(60 * HZ, &itimer_clockevent);
itimer_clockevent.min_delta_ns =
clockevent_delta2ns(1, &itimer_clockevent);
err = clocksource_register(&itimer_clocksource);
if (err) {
printk(KERN_ERR "clocksource_register returned %d\n", err);
return;
}
clockevents_register_device(&itimer_clockevent);
}