diff options
Diffstat (limited to 'include/linux/clocksource.h')
| -rw-r--r-- | include/linux/clocksource.h | 13 |
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 | ||
| 333 | extern int clocksource_i8253_init(void); | 334 | extern int clocksource_i8253_init(void); |
| 334 | 335 | ||
| 336 | struct device_node; | ||
| 337 | typedef void(*clocksource_of_init_fn)(struct device_node *); | ||
| 335 | #ifdef CONFIG_CLKSRC_OF | 338 | #ifdef CONFIG_CLKSRC_OF |
| 336 | extern void clocksource_of_init(void); | 339 | extern 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) | 347 | static 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 */ |
