x86: Convert PIT to clockevents_config_and_register()
authorThomas Gleixner <tglx@linutronix.de>
Wed, 18 May 2011 21:33:42 +0000 (21:33 +0000)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 19 May 2011 12:24:16 +0000 (14:24 +0200)
Let the core do the work.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: John Stultz <john.stultz@linaro.org>
Reviewed-by: Ingo Molnar <mingo@elte.hu>
Link: http://lkml.kernel.org/r/%3C20110518210136.545615675%40linutronix.de%3E
arch/x86/kernel/i8253.c

index 577e90c..fb66dc9 100644 (file)
@@ -93,7 +93,6 @@ static struct clock_event_device pit_ce = {
        .features       = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT,
        .set_mode       = init_pit_timer,
        .set_next_event = pit_next_event,
-       .shift          = 32,
        .irq            = 0,
 };
 
@@ -108,11 +107,8 @@ void __init setup_pit_timer(void)
         * IO_APIC has been initialized.
         */
        pit_ce.cpumask = cpumask_of(smp_processor_id());
-       pit_ce.mult = div_sc(CLOCK_TICK_RATE, NSEC_PER_SEC, pit_ce.shift);
-       pit_ce.max_delta_ns = clockevent_delta2ns(0x7FFF, &pit_ce);
-       pit_ce.min_delta_ns = clockevent_delta2ns(0xF, &pit_ce);
 
-       clockevents_register_device(&pit_ce);
+       clockevents_config_and_register(&pit_ce, CLOCK_TICK_RATE, 0xF, 0x7FFF);
        global_clock_event = &pit_ce;
 }