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