리눅스/커널
__initcall(), module_init()
code cat
2012. 7. 1. 09:23
module_init() 매크로는 모듈형태로 컴파일시 module insertion time에 불린다.
만약 모듈형태로 컴파일 되지 않았으면, module_init()은 __initcall()과 같은 동작을 하는데 이는 boot time시에 불린다.
__initcall()은 다음과 같이 정의되어 있다.
#define __initcall(fn) \
static initcall_t __initcall_##fn __init_call = fn
#define __init_call __attribute__ ((unused,__section__ ("function_ptrs")))
#define module_init(x) __initcall(x);