blob: ad9b155c8262207003a5d1153bcd9987aa63bc8b [file] [log] [blame]
Marc Zyngier022c03a2012-01-11 17:25:17 +00001#ifndef __ASMARM_ARCH_TIMER_H
2#define __ASMARM_ARCH_TIMER_H
3
Will Deacon923df96b2012-07-06 15:46:45 +01004#include <asm/errno.h>
Marc Zyngiera1b2dde2012-09-07 18:09:58 +01005#include <linux/clocksource.h>
Will Deacon923df96b2012-07-06 15:46:45 +01006
Marc Zyngier022c03a2012-01-11 17:25:17 +00007#ifdef CONFIG_ARM_ARCH_TIMER
Will Deacon923df96b2012-07-06 15:46:45 +01008#define ARCH_HAS_READ_CURRENT_TIMER
Marc Zyngier00752422012-01-19 13:53:50 +00009int arch_timer_of_register(void);
Marc Zyngierfb8a99f2012-04-27 13:18:42 +010010int arch_timer_sched_clock_init(void);
Marc Zyngiera1b2dde2012-09-07 18:09:58 +010011struct timecounter *arch_timer_get_timecounter(void);
Marc Zyngier022c03a2012-01-11 17:25:17 +000012#else
Marc Zyngier00752422012-01-19 13:53:50 +000013static inline int arch_timer_of_register(void)
14{
15 return -ENXIO;
16}
17
Marc Zyngier3f61c802011-01-14 15:32:36 +000018static inline int arch_timer_sched_clock_init(void)
19{
20 return -ENXIO;
21}
Marc Zyngiera1b2dde2012-09-07 18:09:58 +010022
23static inline struct timecounter *arch_timer_get_timecounter(void)
24{
25 return NULL;
26}
Marc Zyngier022c03a2012-01-11 17:25:17 +000027#endif
28
29#endif