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