home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-sh / timer.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  805 b   |  43 lines

  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.  
  43.