blob: f27a88bfdcc724537940bc1019717da6bea767ab [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
Paul Mundtaa016662006-01-16 22:14:18 -080021extern struct sys_timer *sys_timer;
22
Paul Mundtaa016662006-01-16 22:14:18 -080023/* arch/sh/kernel/timers/timer.c */
24struct sys_timer *get_sys_timer(void);
25
Magnus Damm955c0772009-01-22 09:55:31 +000026extern struct clocksource clocksource_sh;
Paul Mundtaa016662006-01-16 22:14:18 -080027
28#endif /* __ASM_SH_TIMER_H */