| Jesper Nilsson | d8e5219 | 2007-11-14 17:01:23 -0800 | [diff] [blame] | 1 | /* | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 2 |  * linux/include/asm-cris/fasttimer.h | 
 | 3 |  * | 
 | 4 |  * Fast timers for ETRAX100LX | 
| Jesper Nilsson | d8e5219 | 2007-11-14 17:01:23 -0800 | [diff] [blame] | 5 |  * Copyright (C) 2000-2007 Axis Communications AB | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 6 |  */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 7 | #include <linux/time.h> /* struct timeval */ | 
 | 8 | #include <linux/timex.h> | 
 | 9 |  | 
 | 10 | #ifdef CONFIG_ETRAX_FAST_TIMER | 
 | 11 |  | 
 | 12 | typedef void fast_timer_function_type(unsigned long); | 
 | 13 |  | 
| Jesper Nilsson | d8e5219 | 2007-11-14 17:01:23 -0800 | [diff] [blame] | 14 | struct fasttime_t { | 
 | 15 | 	unsigned long tv_jiff;  /* jiffies */ | 
 | 16 | 	unsigned long tv_usec;  /* microseconds */ | 
 | 17 | }; | 
 | 18 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 19 | struct fast_timer{ /* Close to timer_list */ | 
 | 20 |   struct fast_timer *next; | 
 | 21 |   struct fast_timer *prev; | 
| Jesper Nilsson | d8e5219 | 2007-11-14 17:01:23 -0800 | [diff] [blame] | 22 | 	struct fasttime_t tv_set; | 
 | 23 | 	struct fasttime_t tv_expires; | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 24 |   unsigned long delay_us; | 
 | 25 |   fast_timer_function_type *function; | 
 | 26 |   unsigned long data; | 
 | 27 |   const char *name; | 
 | 28 | }; | 
 | 29 |  | 
 | 30 | extern struct fast_timer *fast_timer_list; | 
 | 31 |  | 
 | 32 | void start_one_shot_timer(struct fast_timer *t, | 
 | 33 |                           fast_timer_function_type *function, | 
 | 34 |                           unsigned long data, | 
 | 35 |                           unsigned long delay_us, | 
 | 36 |                           const char *name); | 
 | 37 |  | 
 | 38 | int del_fast_timer(struct fast_timer * t); | 
 | 39 | /* return 1 if deleted */ | 
 | 40 |  | 
 | 41 |  | 
 | 42 | void schedule_usleep(unsigned long us); | 
 | 43 |  | 
 | 44 |  | 
| Jesper Nilsson | d8e5219 | 2007-11-14 17:01:23 -0800 | [diff] [blame] | 45 | int fast_timer_init(void); | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 46 |  | 
 | 47 | #endif |