aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/clocksource.h
diff options
context:
space:
mode:
authorMaxime Ripard <maxime.ripard@free-electrons.com>2013-04-08 21:36:54 +0200
committerMaxime Ripard <maxime.ripard@free-electrons.com>2013-04-08 21:36:54 +0200
commit0b824f8dad9fdfc7c1bf9c1d3ac744075eb73ec6 (patch)
tree7559859702f2fa02f6a4db64cf10f6c2e3f80c21 /include/linux/clocksource.h
parent6dbe51c251a327e012439c4772097a13df43c5b8 (diff)
parent3d5a96582303e28c48699f3faaf920ef7d43e6f2 (diff)
downloadkernel_goldelico_gta04-0b824f8dad9fdfc7c1bf9c1d3ac744075eb73ec6.zip
kernel_goldelico_gta04-0b824f8dad9fdfc7c1bf9c1d3ac744075eb73ec6.tar.gz
kernel_goldelico_gta04-0b824f8dad9fdfc7c1bf9c1d3ac744075eb73ec6.tar.bz2
Merge remote-tracking branch 'arm-soc/clksrc/cleanup' into sunxi/core-for-3.10
Diffstat (limited to 'include/linux/clocksource.h')
-rw-r--r--include/linux/clocksource.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h
index 27cfda4..192d6d1 100644
--- a/include/linux/clocksource.h
+++ b/include/linux/clocksource.h
@@ -332,15 +332,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 */