at v2.6.17 805 B view raw
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 7struct sys_timer_ops { 8 int (*init)(void); 9 unsigned long (*get_offset)(void); 10 unsigned long (*get_frequency)(void); 11}; 12 13struct 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 22extern struct sys_timer tmu_timer; 23extern struct sys_timer *sys_timer; 24 25static inline unsigned long get_timer_offset(void) 26{ 27 return sys_timer->ops->get_offset(); 28} 29 30static inline unsigned long get_timer_frequency(void) 31{ 32 return sys_timer->ops->get_frequency(); 33} 34 35/* arch/sh/kernel/timers/timer.c */ 36struct sys_timer *get_sys_timer(void); 37 38/* arch/sh/kernel/time.c */ 39void handle_timer_tick(struct pt_regs *); 40 41#endif /* __ASM_SH_TIMER_H */ 42