1/* $Id: fasttimer.h,v 1.3 2004/05/14 10:19:19 starvik 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/config.h> 9#include <linux/time.h> /* struct timeval */ 10#include <linux/timex.h> 11 12#ifdef CONFIG_ETRAX_FAST_TIMER 13 14typedef void fast_timer_function_type(unsigned long); 15 16struct fast_timer{ /* Close to timer_list */ 17 struct fast_timer *next; 18 struct fast_timer *prev; 19 struct timeval tv_set; 20 struct timeval tv_expires; 21 unsigned long delay_us; 22 fast_timer_function_type *function; 23 unsigned long data; 24 const char *name; 25}; 26 27extern struct fast_timer *fast_timer_list; 28 29void start_one_shot_timer(struct fast_timer *t, 30 fast_timer_function_type *function, 31 unsigned long data, 32 unsigned long delay_us, 33 const char *name); 34 35int del_fast_timer(struct fast_timer * t); 36/* return 1 if deleted */ 37 38 39void schedule_usleep(unsigned long us); 40 41 42void fast_timer_init(void); 43 44#endif