blob: 747645dc05d4041866d0b417bf35a843cda2c79f [file] [log] [blame]
Russell King112f38a42010-12-15 19:23:07 +00001/*
2 * sched_clock.h: support for extending counters to full 64-bit ns counter
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
Stephen Boyd38ff87f2013-06-01 23:39:40 -07008#ifndef LINUX_SCHED_CLOCK
9#define LINUX_SCHED_CLOCK
Russell King112f38a42010-12-15 19:23:07 +000010
Stephen Boyd38ff87f2013-06-01 23:39:40 -070011#ifdef CONFIG_GENERIC_SCHED_CLOCK
Russell King211baa702011-01-11 16:23:04 +000012extern void sched_clock_postinit(void);
Stephen Boyd38ff87f2013-06-01 23:39:40 -070013
Stephen Boyde7e3ff12013-07-18 16:21:17 -070014extern void sched_clock_register(u64 (*read)(void), int bits,
15 unsigned long rate);
Stephen Boydb71f8dc2017-08-11 14:23:19 -070016extern int sched_clock_suspend(void);
17extern void sched_clock_resume(void);
Daniel Lezcano364eba42015-10-29 18:33:47 +010018#else
19static inline void sched_clock_postinit(void) { }
20
21static inline void sched_clock_register(u64 (*read)(void), int bits,
22 unsigned long rate)
23{
24 ;
25}
Stephen Boydb71f8dc2017-08-11 14:23:19 -070026static inline int sched_clock_suspend(void) { return 0; }
27static inline void sched_clock_resume(void) { }
Daniel Lezcano364eba42015-10-29 18:33:47 +010028#endif
Russell King211baa702011-01-11 16:23:04 +000029
Russell King112f38a42010-12-15 19:23:07 +000030#endif