diff options
Diffstat (limited to 'arch/x86/xen/time.c')
| -rw-r--r-- | arch/x86/xen/time.c | 12 | 
1 files changed, 9 insertions, 3 deletions
| diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c index 685b77470fc3..004ba86326ae 100644 --- a/arch/x86/xen/time.c +++ b/arch/x86/xen/time.c | |||
| @@ -30,8 +30,6 @@ | |||
| 30 | #define TIMER_SLOP 100000 | 30 | #define TIMER_SLOP 100000 | 
| 31 | #define NS_PER_TICK (1000000000LL / HZ) | 31 | #define NS_PER_TICK (1000000000LL / HZ) | 
| 32 | 32 | ||
| 33 | static cycle_t xen_clocksource_read(void); | ||
| 34 | |||
| 35 | /* runstate info updated by Xen */ | 33 | /* runstate info updated by Xen */ | 
| 36 | static DEFINE_PER_CPU(struct vcpu_runstate_info, runstate); | 34 | static DEFINE_PER_CPU(struct vcpu_runstate_info, runstate); | 
| 37 | 35 | ||
| @@ -213,7 +211,7 @@ unsigned long xen_tsc_khz(void) | |||
| 213 | return xen_khz; | 211 | return xen_khz; | 
| 214 | } | 212 | } | 
| 215 | 213 | ||
| 216 | static cycle_t xen_clocksource_read(void) | 214 | cycle_t xen_clocksource_read(void) | 
| 217 | { | 215 | { | 
| 218 | struct pvclock_vcpu_time_info *src; | 216 | struct pvclock_vcpu_time_info *src; | 
| 219 | cycle_t ret; | 217 | cycle_t ret; | 
| @@ -452,6 +450,14 @@ void xen_setup_timer(int cpu) | |||
| 452 | setup_runstate_info(cpu); | 450 | setup_runstate_info(cpu); | 
| 453 | } | 451 | } | 
| 454 | 452 | ||
| 453 | void xen_teardown_timer(int cpu) | ||
| 454 | { | ||
| 455 | struct clock_event_device *evt; | ||
| 456 | BUG_ON(cpu == 0); | ||
| 457 | evt = &per_cpu(xen_clock_events, cpu); | ||
| 458 | unbind_from_irqhandler(evt->irq, NULL); | ||
| 459 | } | ||
| 460 | |||
| 455 | void xen_setup_cpu_clockevents(void) | 461 | void xen_setup_cpu_clockevents(void) | 
| 456 | { | 462 | { | 
| 457 | BUG_ON(preemptible()); | 463 | BUG_ON(preemptible()); | 
