Merge tag 'v3.10.61' into update
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / clocksource / arm_arch_timer.c
index a2b25418978244d1ae129cf74f031020951f35d4..053d846ab5b108931ccbeacb67ebc7c85696d0f6 100644 (file)
@@ -186,27 +186,19 @@ u32 arch_timer_get_rate(void)
        return arch_timer_rate;
 }
 
-/*
- * Some external users of arch_timer_read_counter (e.g. sched_clock) may try to
- * call it before it has been initialised. Rather than incur a performance
- * penalty checking for initialisation, provide a default implementation that
- * won't lead to time appearing to jump backwards.
- */
-static u64 arch_timer_read_zero(void)
+u64 arch_timer_read_counter(void)
 {
-       return 0;
+       return arch_counter_get_cntvct();
 }
 
-u64 (*arch_timer_read_counter)(void) = arch_timer_read_zero;
-
 static cycle_t arch_counter_read(struct clocksource *cs)
 {
-       return arch_timer_read_counter();
+       return arch_counter_get_cntvct();
 }
 
 static cycle_t arch_counter_read_cc(const struct cyclecounter *cc)
 {
-       return arch_timer_read_counter();
+       return arch_counter_get_cntvct();
 }
 
 static struct clocksource clocksource_counter = {
@@ -287,7 +279,7 @@ static int __init arch_timer_register(void)
        cyclecounter.mult = clocksource_counter.mult;
        cyclecounter.shift = clocksource_counter.shift;
        timecounter_init(&timecounter, &cyclecounter,
-                        arch_counter_get_cntpct());
+                        arch_counter_get_cntvct());
 
        if (arch_timer_use_virtual) {
                ppi = arch_timer_ppi[VIRT_PPI];
@@ -376,11 +368,6 @@ static void __init arch_timer_init(struct device_node *np)
                }
        }
 
-       if (arch_timer_use_virtual)
-               arch_timer_read_counter = arch_counter_get_cntvct;
-       else
-               arch_timer_read_counter = arch_counter_get_cntpct;
-
        arch_timer_register();
        arch_timer_arch_init();
 }