diff options
Diffstat (limited to 'include/linux/clocksource.h')
| -rw-r--r-- | include/linux/clocksource.h | 12 | 
1 files changed, 10 insertions, 2 deletions
| diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h index aa7032c7238..7279b94c01d 100644 --- a/include/linux/clocksource.h +++ b/include/linux/clocksource.h @@ -333,15 +333,23 @@ extern int clocksource_mmio_init(void __iomem *, const char *,  extern int clocksource_i8253_init(void); +struct device_node; +typedef void(*clocksource_of_init_fn)(struct device_node *);  #ifdef CONFIG_CLKSRC_OF  extern void clocksource_of_init(void);  #define CLOCKSOURCE_OF_DECLARE(name, compat, fn)			\  	static const struct of_device_id __clksrc_of_table_##name	\  		__used __section(__clksrc_of_table)			\ -		 = { .compatible = compat, .data = fn }; +		 = { .compatible = compat,				\ +		     .data = (fn == (clocksource_of_init_fn)NULL) ? fn : fn }  #else -#define CLOCKSOURCE_OF_DECLARE(name, compat, fn) +static inline void clocksource_of_init(void) {} +#define CLOCKSOURCE_OF_DECLARE(name, compat, fn)			\ +	static const struct of_device_id __clksrc_of_table_##name	\ +		__attribute__((unused))					\ +		 = { .compatible = compat,				\ +		     .data = (fn == (clocksource_of_init_fn)NULL) ? fn : fn }  #endif  #endif /* _LINUX_CLOCKSOURCE_H */ |