summaryrefslogtreecommitdiff
path: root/include/linux/clocksource.h
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2012-11-20 03:41:20 +0400
committerStephen Warren <swarren@nvidia.com>2013-01-02 22:07:43 +0400
commitae278a935f086775e8ae31a8ec9f7224ea25ea3c (patch)
treeefd3d6d7c29271af8acb283b2cc8ffd6dc39570b /include/linux/clocksource.h
parent6bb27d7349db51b50c40534710fe164ca0d58902 (diff)
downloadlinux-ae278a935f086775e8ae31a8ec9f7224ea25ea3c.tar.xz
clocksource: add common of_clksrc_init() function
It is desirable to move all clocksource drivers to drivers/clocksource, yet each requires its own initialization function. We'd rather not pollute <linux/> with a header for each function. Instead, create a single of_clksrc_init() function which will determine which clocksource driver to initialize based on device tree. Based on a similar patch for drivers/irqchip by Thomas Petazzoni. Signed-off-by: Stephen Warren <swarren@nvidia.com>
Diffstat (limited to 'include/linux/clocksource.h')
-rw-r--r--include/linux/clocksource.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h
index 4dceaf8ae152..7944f14ea947 100644
--- a/include/linux/clocksource.h
+++ b/include/linux/clocksource.h
@@ -332,4 +332,13 @@ extern int clocksource_mmio_init(void __iomem *, const char *,
extern int clocksource_i8253_init(void);
+#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 };
+#endif
+
#endif /* _LINUX_CLOCKSOURCE_H */