/drivers/include/linux/kernel.h |
---|
273,10 → 273,17 |
void (*function)(unsigned long); |
unsigned long data; |
// struct tvec_base *base; |
u32 handle; |
}; |
#define setup_timer(_timer, _fn, _data) \ |
do { \ |
(_timer)->function = (_fn); \ |
(_timer)->data = (_data); \ |
(_timer)->handle = 0; \ |
} while (0) |
struct timespec { |
long tv_sec; /* seconds */ |
long tv_nsec; /* nanoseconds */ |
/drivers/include/linux/workqueue.h |
---|
61,6 → 61,7 |
#define alloc_ordered_workqueue(fmt, flags, args...) \ |
alloc_workqueue(fmt, WQ_UNBOUND | (flags), 1, ##args) |
bool queue_work(struct workqueue_struct *wq, struct work_struct *work); |
int queue_delayed_work(struct workqueue_struct *wq, |
struct delayed_work *dwork, unsigned long delay); |
80,6 → 81,10 |
(_work)->work.func = _func; \ |
} while (0) |
static inline bool schedule_work(struct work_struct *work) |
{ |
return queue_work(system_wq, work); |
} |
#endif /* _LINUX_WORKQUEUE_H */ |
/drivers/include/syscall.h |
---|
55,9 → 55,11 |
addr_t IMPORT GetStackBase(void)__asm__("GetStackBase"); |
u32_t IMPORT GetPid(void)__asm__("GetPid"); |
u32 STDCALL TimerHs(u32 delay, u32 interval, |
void *fn, void *data)asm("TimerHs"); |
u32 STDCALL TimerHS(u32 delay, u32 interval, |
void *fn, void *data)asm("TimerHS"); |
void STDCALL CancelTimerHS(u32 handle)asm("CancelTimerHS"); |
u64 IMPORT GetCpuFreq()__asm__("GetCpuFreq"); |
/////////////////////////////////////////////////////////////////////////////// |