typedef int (*cfs_wi_action_t) (struct cfs_workitem *);
typedef struct cfs_workitem {
- /** chain on runq or rerunq */
- cfs_list_t wi_list;
- /** working function */
- cfs_wi_action_t wi_action;
- /** arg for working function */
- void *wi_data;
- /** in running */
- unsigned short wi_running:1;
- /** scheduled */
- unsigned short wi_scheduled:1;
+ /** chain on runq or rerunq */
+ struct list_head wi_list;
+ /** working function */
+ cfs_wi_action_t wi_action;
+ /** arg for working function */
+ void *wi_data;
+ /** in running */
+ unsigned short wi_running:1;
+ /** scheduled */
+ unsigned short wi_scheduled:1;
} cfs_workitem_t;
static inline void
cfs_wi_init(cfs_workitem_t *wi, void *data, cfs_wi_action_t action)
{
- CFS_INIT_LIST_HEAD(&wi->wi_list);
+ INIT_LIST_HEAD(&wi->wi_list);
- wi->wi_running = 0;
- wi->wi_scheduled = 0;
- wi->wi_data = data;
- wi->wi_action = action;
+ wi->wi_running = 0;
+ wi->wi_scheduled = 0;
+ wi->wi_data = data;
+ wi->wi_action = action;
}
void cfs_wi_schedule(struct cfs_wi_sched *sched, cfs_workitem_t *wi);