Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit acc9a9dc authored by John Stultz's avatar John Stultz Committed by Linus Torvalds
Browse files

[PATCH] generic: vsyscall-gtod support for GENERIC_TIME



Provides generic infrastructure for vsyscall-gtod.

[akpm@osdl.org: cleanup]
Signed-off-by: default avatarJohn Stultz <johnstul@us.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Andi Kleen <ak@muc.de>
Cc: Roman Zippel <zippel@linux-m68k.org>

Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 88ad0bf6
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ struct clocksource;
 * @mult:		cycle to nanosecond multiplier
 * @shift:		cycle to nanosecond divisor (power of two)
 * @flags:		flags describing special properties
 * @vread:		vsyscall based read
 * @cycle_interval:	Used internally by timekeeping core, please ignore.
 * @xtime_interval:	Used internally by timekeeping core, please ignore.
 */
@@ -59,6 +60,7 @@ struct clocksource {
	u32 mult;
	u32 shift;
	unsigned long flags;
	cycle_t (*vread)(void);

	/* timekeeping specific data, ignore */
	cycle_t cycle_last, cycle_interval;
@@ -197,4 +199,12 @@ extern int clocksource_register(struct clocksource*);
extern struct clocksource* clocksource_get_next(void);
extern void clocksource_change_rating(struct clocksource *cs, int rating);

#ifdef CONFIG_GENERIC_TIME_VSYSCALL
extern void update_vsyscall(struct timespec *ts, struct clocksource *c);
#else
static inline void update_vsyscall(struct timespec *ts, struct clocksource *c)
{
}
#endif

#endif /* _LINUX_CLOCKSOURCE_H */
+1 −0
Original line number Diff line number Diff line
@@ -1174,6 +1174,7 @@ static void update_wall_time(void)

	/* check to see if there is a new clocksource to use */
	change_clocksource();
	update_vsyscall(&xtime, clock);
}

/*