summaryrefslogtreecommitdiff
path: root/include/linux/clocksource.h
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2011-08-15 12:47:19 +0200
committerTakashi Iwai <tiwai@suse.de>2011-08-15 12:47:19 +0200
commit2d9f8a6e73ef2ec8ecaa24ca98e7010d6edd089f (patch)
tree9ea035b696137b345c69532a318f55502f530558 /include/linux/clocksource.h
parentecf726f5414489fe749477eb77d6cb12bb93c8bc (diff)
parenteade7b281c9fc18401b989c77d5e5e660b25a3b7 (diff)
Merge branch 'fix/hda' into topic/hda
Diffstat (limited to 'include/linux/clocksource.h')
-rw-r--r--include/linux/clocksource.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h
index d4646b48dc4a..139c4db55f17 100644
--- a/include/linux/clocksource.h
+++ b/include/linux/clocksource.h
@@ -22,6 +22,10 @@
typedef u64 cycle_t;
struct clocksource;
+#ifdef CONFIG_ARCH_CLOCKSOURCE_DATA
+#include <asm/clocksource.h>
+#endif
+
/**
* struct cyclecounter - hardware abstraction for a free running counter
* Provides completely state-free accessors to the underlying hardware.
@@ -153,7 +157,7 @@ extern u64 timecounter_cyc2time(struct timecounter *tc,
* @shift: cycle to nanosecond divisor (power of two)
* @max_idle_ns: max idle time permitted by the clocksource (nsecs)
* @flags: flags describing special properties
- * @vread: vsyscall based read
+ * @archdata: arch-specific data
* @suspend: suspend function for the clocksource, if necessary
* @resume: resume function for the clocksource, if necessary
*/
@@ -169,16 +173,13 @@ struct clocksource {
u32 shift;
u64 max_idle_ns;
-#ifdef CONFIG_IA64
- void *fsys_mmio; /* used by fsyscall asm code */
-#define CLKSRC_FSYS_MMIO_SET(mmio, addr) ((mmio) = (addr))
-#else
-#define CLKSRC_FSYS_MMIO_SET(mmio, addr) do { } while (0)
+#ifdef CONFIG_ARCH_CLOCKSOURCE_DATA
+ struct arch_clocksource_data archdata;
#endif
+
const char *name;
struct list_head list;
int rating;
- cycle_t (*vread)(void);
int (*enable)(struct clocksource *cs);
void (*disable)(struct clocksource *cs);
unsigned long flags;
@@ -188,6 +189,7 @@ struct clocksource {
#ifdef CONFIG_CLOCKSOURCE_WATCHDOG
/* Watchdog related data, used by the framework */
struct list_head wd_list;
+ cycle_t cs_last;
cycle_t wd_last;
#endif
} ____cacheline_aligned;