CLOCKSOURCE: mips-gic: Split clocksource and clockevent initialization
[linux-drm-fsl-dcu.git] / drivers / clocksource / mips-gic-timer.c
index c4352f078492384d83f6fb66f3379152bc581721..22a4daf5f0c8bd0344c86149d138c07e313556d3 100644 (file)
@@ -142,11 +142,6 @@ static void __init __gic_clocksource_init(void)
        ret = clocksource_register_hz(&gic_clocksource, gic_frequency);
        if (ret < 0)
                pr_warn("GIC: Unable to register clocksource\n");
-
-       gic_clockevent_init();
-
-       /* And finally start the counter */
-       gic_start_count();
 }
 
 void __init gic_clocksource_init(unsigned int frequency)
@@ -156,6 +151,10 @@ void __init gic_clocksource_init(unsigned int frequency)
                GIC_LOCAL_TO_HWIRQ(GIC_LOCAL_INT_COMPARE);
 
        __gic_clocksource_init();
+       gic_clockevent_init();
+
+       /* And finally start the counter */
+       gic_start_count();
 }
 
 static void __init gic_clocksource_of_init(struct device_node *node)
@@ -187,6 +186,10 @@ static void __init gic_clocksource_of_init(struct device_node *node)
        }
 
        __gic_clocksource_init();
+       gic_clockevent_init();
+
+       /* And finally start the counter */
+       gic_start_count();
 }
 CLOCKSOURCE_OF_DECLARE(mips_gic_timer, "mti,gic-timer",
                       gic_clocksource_of_init);