aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/clocksource.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/clocksource.h')
-rw-r--r--include/linux/clocksource.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h
index 27cfda427dd9..7279b94c01da 100644
--- a/include/linux/clocksource.h
+++ b/include/linux/clocksource.h
@@ -206,6 +206,7 @@ struct clocksource {
206#define CLOCK_SOURCE_WATCHDOG 0x10 206#define CLOCK_SOURCE_WATCHDOG 0x10
207#define CLOCK_SOURCE_VALID_FOR_HRES 0x20 207#define CLOCK_SOURCE_VALID_FOR_HRES 0x20
208#define CLOCK_SOURCE_UNSTABLE 0x40 208#define CLOCK_SOURCE_UNSTABLE 0x40
209#define CLOCK_SOURCE_SUSPEND_NONSTOP 0x80
209 210
210/* simplify initialization of mask field */ 211/* simplify initialization of mask field */
211#define CLOCKSOURCE_MASK(bits) (cycle_t)((bits) < 64 ? ((1ULL<<(bits))-1) : -1) 212#define CLOCKSOURCE_MASK(bits) (cycle_t)((bits) < 64 ? ((1ULL<<(bits))-1) : -1)
@@ -332,15 +333,23 @@ extern int clocksource_mmio_init(void __iomem *, const char *,
332 333
333extern int clocksource_i8253_init(void); 334extern int clocksource_i8253_init(void);
334 335
336struct device_node;
337typedef void(*clocksource_of_init_fn)(struct device_node *);
335#ifdef CONFIG_CLKSRC_OF 338#ifdef CONFIG_CLKSRC_OF
336extern void clocksource_of_init(void); 339extern void clocksource_of_init(void);
337 340
338#define CLOCKSOURCE_OF_DECLARE(name, compat, fn) \ 341#define CLOCKSOURCE_OF_DECLARE(name, compat, fn) \
339 static const struct of_device_id __clksrc_of_table_##name \ 342 static const struct of_device_id __clksrc_of_table_##name \
340 __used __section(__clksrc_of_table) \ 343 __used __section(__clksrc_of_table) \
341 = { .compatible = compat, .data = fn }; 344 = { .compatible = compat, \
345 .data = (fn == (clocksource_of_init_fn)NULL) ? fn : fn }
342#else 346#else
343#define CLOCKSOURCE_OF_DECLARE(name, compat, fn) 347static inline void clocksource_of_init(void) {}
348#define CLOCKSOURCE_OF_DECLARE(name, compat, fn) \
349 static const struct of_device_id __clksrc_of_table_##name \
350 __attribute__((unused)) \
351 = { .compatible = compat, \
352 .data = (fn == (clocksource_of_init_fn)NULL) ? fn : fn }
344#endif 353#endif
345 354
346#endif /* _LINUX_CLOCKSOURCE_H */ 355#endif /* _LINUX_CLOCKSOURCE_H */