1. init.h
很多驱动中出现:arch_initcall,subsys_initcall
比如: drivers/i2c/busses/i2c-msm-v2.c 中为subsys_initcall
查看代码可追踪到include/linux/init.h, 都是一些宏定义。
init.h 会根据条件语句选择宏定义, 本平台代码摘录如下:
#define pure_initcall(fn) __define_initcall(fn, 0)
#define core_initcall(fn) __define_initcall(fn, 1)
#define core_initcall_sync(fn) __define_initcall(fn, 1s)
#define postcore_initcall(fn) __define_initcall(fn, 2)
#define postcore_initcall_sync(fn) __define_initcall(fn, 2s)
#define arch_initcall(fn) __define_initcall(fn, 3)