blob: 6c0851188c00f6e5e6b3279f8916d7da06010ede [file] [log] [blame]
Paul Mundtaa016662006-01-16 22:14:18 -08001#ifndef __ASM_SH_TIMER_H
2#define __ASM_SH_TIMER_H
3
4#include <linux/sysdev.h>
Paul Mundt57be2b42007-05-09 17:33:24 +09005#include <linux/clocksource.h>
Paul Mundtf15cbe62008-07-29 08:09:44 +09006#include <cpu/timer.h>
Paul Mundtaa016662006-01-16 22:14:18 -08007
8struct sys_timer_ops {
9 int (*init)(void);
Andriy Skulysh3aa770e2006-09-27 16:20:22 +090010 int (*start)(void);
11 int (*stop)(void);
Paul Mundtaa016662006-01-16 22:14:18 -080012};
13
14struct sys_timer {
15 const char *name;
16
17 struct sys_device dev;
18 struct sys_timer_ops *ops;
19};
20
Magnus Damm3280c882009-04-30 07:12:09 +000021extern struct sys_timer tmu_timer;
Paul Mundtaa016662006-01-16 22:14:18 -080022extern struct sys_timer *sys_timer;
23
Paul Mundtaa016662006-01-16 22:14:18 -080024/* arch/sh/kernel/timers/timer.c */
25struct sys_timer *get_sys_timer(void);
26
Magnus Damm955c0772009-01-22 09:55:31 +000027extern struct clocksource clocksource_sh;
Paul Mundtaa016662006-01-16 22:14:18 -080028
29#endif /* __ASM_SH_TIMER_H */