aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/clocksource/arm_arch_timer.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/clocksource/arm_arch_timer.c')
-rw-r--r--drivers/clocksource/arm_arch_timer.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c
index 5152b3898155..4814446a0024 100644
--- a/drivers/clocksource/arm_arch_timer.c
+++ b/drivers/clocksource/arm_arch_timer.c
@@ -468,11 +468,11 @@ static struct cyclecounter cyclecounter = {
468 .mask = CLOCKSOURCE_MASK(56), 468 .mask = CLOCKSOURCE_MASK(56),
469}; 469};
470 470
471static struct timecounter timecounter; 471static struct arch_timer_kvm_info arch_timer_kvm_info;
472 472
473struct timecounter *arch_timer_get_timecounter(void) 473struct arch_timer_kvm_info *arch_timer_get_kvm_info(void)
474{ 474{
475 return &timecounter; 475 return &arch_timer_kvm_info;
476} 476}
477 477
478static void __init arch_counter_register(unsigned type) 478static void __init arch_counter_register(unsigned type)
@@ -500,7 +500,8 @@ static void __init arch_counter_register(unsigned type)
500 clocksource_register_hz(&clocksource_counter, arch_timer_rate); 500 clocksource_register_hz(&clocksource_counter, arch_timer_rate);
501 cyclecounter.mult = clocksource_counter.mult; 501 cyclecounter.mult = clocksource_counter.mult;
502 cyclecounter.shift = clocksource_counter.shift; 502 cyclecounter.shift = clocksource_counter.shift;
503 timecounter_init(&timecounter, &cyclecounter, start_count); 503 timecounter_init(&arch_timer_kvm_info.timecounter,
504 &cyclecounter, start_count);
504 505
505 /* 56 bits minimum, so we assume worst case rollover */ 506 /* 56 bits minimum, so we assume worst case rollover */
506 sched_clock_register(arch_timer_read_counter, 56, arch_timer_rate); 507 sched_clock_register(arch_timer_read_counter, 56, arch_timer_rate);
@@ -744,6 +745,8 @@ static void __init arch_timer_init(void)
744 745
745 arch_timer_register(); 746 arch_timer_register();
746 arch_timer_common_init(); 747 arch_timer_common_init();
748
749 arch_timer_kvm_info.virtual_irq = arch_timer_ppi[VIRT_PPI];
747} 750}
748 751
749static void __init arch_timer_of_init(struct device_node *np) 752static void __init arch_timer_of_init(struct device_node *np)