最終更新:2015-10-30 (金) 15:52:15 (3101d)  

INIT_WORK
Top / INIT_WORK

#define INIT_WORK(_work, _func)                                         \
        do {                                                            \
                __INIT_WORK((_work), (_func), 0);                       \
        } while (0)

__INIT_WORK?

  • #ifdef CONFIG_LOCKDEP
    #define __INIT_WORK(_work, _func, _onstack)                             \
            do {                                                            \
                    static struct lock_class_key __key;                     \
                                                                            \
                    __init_work((_work), _onstack);                         \
                    (_work)->data = (atomic_long_t) WORK_DATA_INIT();       \
                    lockdep_init_map(&(_work)->lockdep_map, #_work, &__key, 0); \
                    INIT_LIST_HEAD(&(_work)->entry);                        \
                    (_work)->func = (_func);                                \
            } while (0)
    #else
    #define __INIT_WORK(_work, _func, _onstack)                             \
            do {                                                            \
                    __init_work((_work), _onstack);                         \
                    (_work)->data = (atomic_long_t) WORK_DATA_INIT();       \
                    INIT_LIST_HEAD(&(_work)->entry);                        \
                    (_work)->func = (_func);                                \
            } while (0)
    #endif

関連