mirror of https://gitee.com/openkylin/linux.git
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:
parent
31ccc1f524
commit
791a644a8d
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue