1#ifndef __VSF_LINUX_WORKQUEUE_H__
2#define __VSF_LINUX_WORKQUEUE_H__
38#define INIT_WORK(__WORK, __FUNC) \
40 (__WORK)->func = (__FUNC); \
41 vsf_dlist_init_node(struct work_struct, entry, (__WORK)); \
43#define INIT_DELAYED_WORK(__DWORK, __FUNC) INIT_WORK(&(__DWORK)->work, (__FUNC))
44#define alloc_ordered_workqueue(__fmt, __flags, ...) \
45 alloc_workqueue(__fmt, __flags, 1, ##__VA_ARGS__)
46#define create_singlethread_workqueue(__name) \
47 alloc_ordered_workqueue("%s", 0, (__name))
48#define create_workqueue(__name) \
49 alloc_workqueue("%s", 0, 1, (__name))
60static inline bool schedule_delayed_work(
struct delayed_work *dwork,
unsigned long delay)
#define vsf_container_of(__ptr, __type, __member)
Definition __type.h:164
uint64_t vsf_systimer_tick_t
Definition cortex_a_generic.h:73
Definition workqueue.h:24
vsf_systimer_tick_t start_tick
Definition workqueue.h:26
struct work_struct work
Definition workqueue.h:25
Definition vsf_list.h:888
Definition workqueue.h:15
vsf_eda_t * __pending_eda
Definition workqueue.h:21
struct workqueue_struct * __wq
Definition workqueue.h:19
work_func_t func
Definition workqueue.h:17
vsf_dlist_node_t entry
Definition workqueue.h:16
bool __is_running
Definition workqueue.h:20
Definition vsf_linux_core.c:129
bool queue_delayed_work(struct workqueue_struct *wq, struct delayed_work *dwork, unsigned long delay)
Definition vsf_linux_core.c:282
bool cancel_delayed_work(struct delayed_work *dwork)
Definition vsf_linux_core.c:421
struct workqueue_struct * alloc_workqueue(const char *fmt, unsigned int flags, int max_active,...)
Definition vsf_linux_core.c:232
struct workqueue_struct * system_wq
Definition vsf_linux_core.c:143
bool mod_delayed_work(struct workqueue_struct *wq, struct delayed_work *dwork, unsigned long delay)
Definition vsf_linux_core.c:304
bool flush_work(struct work_struct *work)
Definition vsf_linux_core.c:342
void(* work_func_t)(struct work_struct *work)
Definition workqueue.h:13
void destroy_workqueue(struct workqueue_struct *wq)
Definition vsf_linux_core.c:259
bool cancel_delayed_work_sync(struct delayed_work *dwork)
Definition vsf_linux_core.c:431
void flush_workqueue(struct workqueue_struct *wq)
Definition vsf_linux_core.c:324
bool cancel_work(struct work_struct *work)
Definition vsf_linux_core.c:396
bool flush_delayed_work(struct delayed_work *dwork)
Definition vsf_linux_core.c:416
bool queue_work(struct workqueue_struct *wq, struct work_struct *work)
Definition vsf_linux_core.c:266
bool cancel_work_sync(struct work_struct *work)
Definition vsf_linux_core.c:406