clocksource: add argument to resume callback
Magnus Damm [Tue, 2 Feb 2010 22:41:39 +0000 (14:41 -0800)]
Pass the clocksource as an argument to the clocksource resume callback.
Needed so we can point out which CMT channel the sh_cmt.c driver shall
resume.

Signed-off-by: Magnus Damm <damm@opensource.se>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

arch/ia64/kernel/time.c
arch/x86/kernel/hpet.c
arch/x86/kernel/tsc.c
include/linux/clocksource.h
kernel/time/clocksource.c

index a35c661..47a1927 100644 (file)
@@ -61,7 +61,7 @@ unsigned long long sched_clock(void)
 
 #ifdef CONFIG_PARAVIRT
 static void
-paravirt_clocksource_resume(void)
+paravirt_clocksource_resume(struct clocksource *cs)
 {
        if (pv_time_ops.clocksource_resume)
                pv_time_ops.clocksource_resume();
index ad80a1c..ee4fa1b 100644 (file)
@@ -266,7 +266,7 @@ static void hpet_resume_device(void)
        force_hpet_resume();
 }
 
-static void hpet_resume_counter(void)
+static void hpet_resume_counter(struct clocksource *cs)
 {
        hpet_resume_device();
        hpet_restart_counter();
index 597683a..9eeb9be 100644 (file)
@@ -740,7 +740,7 @@ static cycle_t __vsyscall_fn vread_tsc(void)
 }
 #endif
 
-static void resume_tsc(void)
+static void resume_tsc(struct clocksource *cs)
 {
        clocksource_tsc.cycle_last = 0;
 }
index 8a4a130..0de7e72 100644 (file)
@@ -172,7 +172,7 @@ struct clocksource {
        u64 max_idle_ns;
        unsigned long flags;
        cycle_t (*vread)(void);
-       void (*resume)(void);
+       void (*resume)(struct clocksource *cs);
 #ifdef CONFIG_IA64
        void *fsys_mmio;        /* used by fsyscall asm code */
 #define CLKSRC_FSYS_MMIO_SET(mmio, addr)      ((mmio) = (addr))
index e85c234..08adacb 100644 (file)
@@ -449,7 +449,7 @@ void clocksource_resume(void)
 
        list_for_each_entry(cs, &clocksource_list, list)
                if (cs->resume)
-                       cs->resume();
+                       cs->resume(cs);
 
        clocksource_resume_watchdog();
 }