clocksource: arch_timer: Do not register arch_sys_counter twice
[firefly-linux-kernel-4.4.55.git] / drivers / clocksource / arm_arch_timer.c
index f655036b524f430b00b643f693eb35a49b02086f..95fb944e15ee0579a6f437f8440ba93fe8443524 100644 (file)
@@ -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,