|
@@ -22,6 +22,8 @@
|
|
|
typedef u64 cycle_t;
|
|
|
struct clocksource;
|
|
|
|
|
|
+#include <asm/clocksource.h>
|
|
|
+
|
|
|
/**
|
|
|
* struct cyclecounter - hardware abstraction for a free running counter
|
|
|
* Provides completely state-free accessors to the underlying hardware.
|
|
@@ -153,7 +155,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
|
|
|
*/
|
|
@@ -175,10 +177,14 @@ struct clocksource {
|
|
|
#else
|
|
|
#define CLKSRC_FSYS_MMIO_SET(mmio, addr) do { } while (0)
|
|
|
#endif
|
|
|
+
|
|
|
+#ifdef __ARCH_HAS_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;
|