Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * linux/include/asm-cris/fasttimer.h
4 *
5 * Fast timers for ETRAX100LX
6 * Copyright (C) 2000-2007 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 fasttime_t {
16 unsigned long tv_jiff; /* jiffies */
17 unsigned long tv_usec; /* microseconds */
18};
19
20struct fast_timer{ /* Close to timer_list */
21 struct fast_timer *next;
22 struct fast_timer *prev;
23 struct fasttime_t tv_set;
24 struct fasttime_t tv_expires;
25 unsigned long delay_us;
26 fast_timer_function_type *function;
27 unsigned long data;
28 const char *name;
29};
30
31extern struct fast_timer *fast_timer_list;
32
33void 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
39int del_fast_timer(struct fast_timer * t);
40/* return 1 if deleted */
41
42
43void schedule_usleep(unsigned long us);
44
45
46int fast_timer_init(void);
47
48#endif