at v2.6.30 44 lines 857 B view raw
1#ifndef __ASM_SH_TIMER_H 2#define __ASM_SH_TIMER_H 3 4#include <linux/sysdev.h> 5#include <linux/clocksource.h> 6#include <cpu/timer.h> 7 8struct sys_timer_ops { 9 int (*init)(void); 10 int (*start)(void); 11 int (*stop)(void); 12#ifndef CONFIG_GENERIC_TIME 13 unsigned long (*get_offset)(void); 14#endif 15}; 16 17struct sys_timer { 18 const char *name; 19 20 struct sys_device dev; 21 struct sys_timer_ops *ops; 22}; 23 24#define TICK_SIZE (tick_nsec / 1000) 25 26extern struct sys_timer tmu_timer, cmt_timer, mtu2_timer; 27extern struct sys_timer *sys_timer; 28 29#ifndef CONFIG_GENERIC_TIME 30static inline unsigned long get_timer_offset(void) 31{ 32 return sys_timer->ops->get_offset(); 33} 34#endif 35 36/* arch/sh/kernel/timers/timer.c */ 37struct sys_timer *get_sys_timer(void); 38 39/* arch/sh/kernel/time.c */ 40void handle_timer_tick(void); 41 42extern struct clocksource clocksource_sh; 43 44#endif /* __ASM_SH_TIMER_H */