1/* $Id: fasttimer.h,v 1.1.1.1 2007/08/03 18:53:22 Exp $ 2 * linux/include/asm-cris/fasttimer.h 3 * 4 * Fast timers for ETRAX100LX 5 * This may be useful in other OS than Linux so use 2 space indentation... 6 * Copyright (C) 2000, 2002 Axis Communications AB 7 */ 8#include <linux/time.h> /* struct timeval */ 9#include <linux/timex.h> 10 11#ifdef CONFIG_ETRAX_FAST_TIMER 12 13typedef void fast_timer_function_type(unsigned long); 14 15struct fast_timer{ /* Close to timer_list */ 16 struct fast_timer *next; 17 struct fast_timer *prev; 18 struct timeval tv_set; 19 struct timeval tv_expires; 20 unsigned long delay_us; 21 fast_timer_function_type *function; 22 unsigned long data; 23 const char *name; 24}; 25 26extern struct fast_timer *fast_timer_list; 27 28void start_one_shot_timer(struct fast_timer *t, 29 fast_timer_function_type *function, 30 unsigned long data, 31 unsigned long delay_us, 32 const char *name); 33 34int del_fast_timer(struct fast_timer * t); 35/* return 1 if deleted */ 36 37 38void schedule_usleep(unsigned long us); 39 40 41void fast_timer_init(void); 42 43#endif 44