aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/clocksource.h
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2007-02-16 04:27:36 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-02-16 11:13:57 -0500
commit73b08d2aa4245806ef1bdd48463e9a0b045c62cf (patch)
tree1cd5b3a7b9f889bb6ff1e7fc6c9a95751faad4d7 /include/linux/clocksource.h
parent95492e4646e5de8b43d9a7908d6177fb737b61f0 (diff)
[PATCH] clocksource: replace is_continuous by a flag field
Using a flag filed allows to encode more than one information into a variable. Preparatory patch for the generic clocksource verification. [mingo@elte.hu: convert vmitime.c to the new clocksource flag] Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Cc: john stultz <johnstul@us.ibm.com> Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/clocksource.h')
-rw-r--r--include/linux/clocksource.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h
index 55d714052374..45b0c310ae82 100644
--- a/include/linux/clocksource.h
+++ b/include/linux/clocksource.h
@@ -45,7 +45,7 @@ typedef u64 cycle_t;
45 * @mult: cycle to nanosecond multiplier 45 * @mult: cycle to nanosecond multiplier
46 * @shift: cycle to nanosecond divisor (power of two) 46 * @shift: cycle to nanosecond divisor (power of two)
47 * @update_callback: called when safe to alter clocksource values 47 * @update_callback: called when safe to alter clocksource values
48 * @is_continuous: defines if clocksource is free-running. 48 * @flags: flags describing special properties
49 * @cycle_interval: Used internally by timekeeping core, please ignore. 49 * @cycle_interval: Used internally by timekeeping core, please ignore.
50 * @xtime_interval: Used internally by timekeeping core, please ignore. 50 * @xtime_interval: Used internally by timekeeping core, please ignore.
51 */ 51 */
@@ -58,7 +58,7 @@ struct clocksource {
58 u32 mult; 58 u32 mult;
59 u32 shift; 59 u32 shift;
60 int (*update_callback)(void); 60 int (*update_callback)(void);
61 int is_continuous; 61 unsigned long flags;
62 62
63 /* timekeeping specific data, ignore */ 63 /* timekeeping specific data, ignore */
64 cycle_t cycle_last, cycle_interval; 64 cycle_t cycle_last, cycle_interval;
@@ -66,6 +66,12 @@ struct clocksource {
66 s64 error; 66 s64 error;
67}; 67};
68 68
69/*
70 * Clock source flags bits::
71 */
72#define CLOCK_SOURCE_IS_CONTINUOUS 0x01
73#define CLOCK_SOURCE_MUST_VERIFY 0x02
74
69/* simplify initialization of mask field */ 75/* simplify initialization of mask field */
70#define CLOCKSOURCE_MASK(bits) (cycle_t)(bits<64 ? ((1ULL<<bits)-1) : -1) 76#define CLOCKSOURCE_MASK(bits) (cycle_t)(bits<64 ? ((1ULL<<bits)-1) : -1)
71 77