at v4.15 1.1 kB view raw
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