|
我在阅读内核代码时候,遇到INIT_WORK宏定义
#define INIT_WORK(_work, _func, _data) \
do { \
INIT_LIST_HEAD(&(_work)->entry); \
(_work)->pending = 0; \
PREPARE_WORK((_work), (_func), (_data)); \
init_timer(&(_work)->timer); \
} while (0)
#define PREPARE_WORK(_work, _func, _data) \
do { \
(_work)->func = _func; \
(_work)->data = _data; \
} while (0)
google以下知道动态初始化用的,但是这个函数具体实现什么功能,这里的INIT_WORK(_work, _func, _data)的_func在初始化的时候执行吗 |
|