|
@@ -436,6 +436,9 @@ static void __init arch_counter_register(unsigned type)
|
|
|
cyclecounter.mult = clocksource_counter.mult;
|
|
|
cyclecounter.shift = clocksource_counter.shift;
|
|
|
timecounter_init(&timecounter, &cyclecounter, start_count);
|
|
|
+
|
|
|
+ /* 56 bits minimum, so we assume worst case rollover */
|
|
|
+ sched_clock_register(arch_timer_read_counter, 56, arch_timer_rate);
|
|
|
}
|
|
|
|
|
|
static void arch_timer_stop(struct clock_event_device *clk)
|
|
@@ -515,15 +518,6 @@ static int __init arch_timer_register(void)
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
|
- clocksource_register_hz(&clocksource_counter, arch_timer_rate);
|
|
|
- cyclecounter.mult = clocksource_counter.mult;
|
|
|
- cyclecounter.shift = clocksource_counter.shift;
|
|
|
- timecounter_init(&timecounter, &cyclecounter,
|
|
|
- arch_counter_get_cntvct());
|
|
|
-
|
|
|
- /* 56 bits minimum, so we assume worst case rollover */
|
|
|
- sched_clock_register(arch_timer_read_counter, 56, arch_timer_rate);
|
|
|
-
|
|
|
if (arch_timer_use_virtual) {
|
|
|
ppi = arch_timer_ppi[VIRT_PPI];
|
|
|
err = request_percpu_irq(ppi, arch_timer_handler_virt,
|