]>
Commit | Line | Data |
---|---|---|
aa01666d PM |
1 | #ifndef __ASM_SH_TIMER_H |
2 | #define __ASM_SH_TIMER_H | |
3 | ||
4 | #include <linux/sysdev.h> | |
5 | #include <asm/cpu/timer.h> | |
6 | ||
7 | struct sys_timer_ops { | |
8 | int (*init)(void); | |
9 | unsigned long (*get_offset)(void); | |
10 | unsigned long (*get_frequency)(void); | |
11 | }; | |
12 | ||
13 | struct sys_timer { | |
14 | const char *name; | |
15 | ||
16 | struct sys_device dev; | |
17 | struct sys_timer_ops *ops; | |
18 | }; | |
19 | ||
20 | #define TICK_SIZE (tick_nsec / 1000) | |
21 | ||
22 | extern struct sys_timer tmu_timer; | |
23 | extern struct sys_timer *sys_timer; | |
24 | ||
25 | static inline unsigned long get_timer_offset(void) | |
26 | { | |
27 | return sys_timer->ops->get_offset(); | |
28 | } | |
29 | ||
30 | static inline unsigned long get_timer_frequency(void) | |
31 | { | |
32 | return sys_timer->ops->get_frequency(); | |
33 | } | |
34 | ||
35 | /* arch/sh/kernel/timers/timer.c */ | |
36 | struct sys_timer *get_sys_timer(void); | |
37 | ||
38 | /* arch/sh/kernel/time.c */ | |
39 | void handle_timer_tick(struct pt_regs *); | |
40 | ||
41 | #endif /* __ASM_SH_TIMER_H */ | |
42 |