
From: "Andi Kleen" <ak@suse.de>

resume PIT for x86_64

Signed-off-by: Luming Yu <luming.yu@intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/arch/x86_64/kernel/i8259.c |    6 ++++++
 25-akpm/arch/x86_64/kernel/time.c  |    4 +++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff -puN arch/x86_64/kernel/i8259.c~x86_64-resume-pit-for-x86_64 arch/x86_64/kernel/i8259.c
--- 25/arch/x86_64/kernel/i8259.c~x86_64-resume-pit-for-x86_64	Wed Mar 23 15:38:53 2005
+++ 25-akpm/arch/x86_64/kernel/i8259.c	Wed Mar 23 15:38:53 2005
@@ -477,6 +477,7 @@ void reschedule_interrupt(void);
 void call_function_interrupt(void);
 void invalidate_interrupt(void);
 void thermal_interrupt(void);
+void i8254_timer_resume(void);
 
 static void setup_timer(void)
 {
@@ -493,6 +494,11 @@ static int timer_resume(struct sys_devic
 	return 0;
 }
 
+void i8254_timer_resume(void)
+{
+	setup_timer();
+}
+
 static struct sysdev_class timer_sysclass = {
 	set_kset_name("timer"),
 	.resume		= timer_resume,
diff -puN arch/x86_64/kernel/time.c~x86_64-resume-pit-for-x86_64 arch/x86_64/kernel/time.c
--- 25/arch/x86_64/kernel/time.c~x86_64-resume-pit-for-x86_64	Wed Mar 23 15:38:53 2005
+++ 25-akpm/arch/x86_64/kernel/time.c	Wed Mar 23 15:38:53 2005
@@ -46,7 +46,7 @@ EXPORT_SYMBOL(jiffies_64);
 #ifdef CONFIG_CPU_FREQ
 static void cpufreq_delayed_get(void);
 #endif
-
+extern void i8254_timer_resume(void);
 extern int using_apic_timer;
 
 DEFINE_SPINLOCK(rtc_lock);
@@ -980,6 +980,8 @@ static int timer_resume(struct sys_devic
 
 	if (vxtime.hpet_address)
 		hpet_reenable();
+	else
+		i8254_timer_resume();
 
 	sec = ctime + clock_cmos_diff;
 	write_seqlock_irqsave(&xtime_lock,flags);
_
