__define_initcall()
来源:互联网 发布:天锁斩月淘宝 编辑:程序博客网 时间:2024/05/16 06:11
该宏将fn链接到.initcall" level ".init中
/*
* A "pure" initcall has no dependencies on anything else, and purely
* initializes variables that couldn't be statically initialized.
*
* This only exists for built-in code, not for modules.
*/
#define pure_initcall(fn) __define_initcall("0",fn,0)
#define core_initcall(fn) __define_initcall("1",fn,1)
#define core_initcall_sync(fn) __define_initcall("1s",fn,1s)
#define postcore_initcall(fn) __define_initcall("2",fn,2)
#define postcore_initcall_sync(fn) __define_initcall("2s",fn,2s)
#define arch_initcall(fn) __define_initcall("3",fn,3)
#define arch_initcall_sync(fn) __define_initcall("3s",fn,3s)
#define subsys_initcall(fn) __define_initcall("4",fn,4)
#define subsys_initcall_sync(fn) __define_initcall("4s",fn,4s)
#define fs_initcall(fn) __define_initcall("5",fn,5)
#define fs_initcall_sync(fn) __define_initcall("5s",fn,5s)
#define rootfs_initcall(fn) __define_initcall("rootfs",fn,rootfs)
#define device_initcall(fn) __define_initcall("6",fn,6)
#define device_initcall_sync(fn) __define_initcall("6s",fn,6s)
#define late_initcall(fn) __define_initcall("7",fn,7)
#define late_initcall_sync(fn) __define_initcall("7s",fn,7s)
#define __initcall(fn) device_initcall(fn)
#define __exitcall(fn) /
static exitcall_t __exitcall_##fn __exit_call = fn
#define console_initcall(fn) /
static initcall_t __initcall_##fn /
__used __section(.con_initcall.init) = fn
#define security_initcall(fn) /
static initcall_t __initcall_##fn /
__used __section(.security_initcall.init) = fn
/* initcalls are now grouped by functionality into separate
* subsections. Ordering inside the subsections is determined
* by link order.
* For backwards compatibility, initcall() puts the call in
* the device init subsection.
*
* The `id' arg to __define_initcall() is needed so that multiple initcalls
* can point at the same handler without causing duplicate-symbol build errors.
*/
#define __define_initcall (level,fn,id) /
static initcall_t __initcall_##fn##id __used /
__attribute__((__section__(".initcall" level ".init"))) = fn
- __define_initcall()
- __define_initcall
- __define_initcall,subsys_initcall (转)
- linux内核__define_initcall分析
- __define_initcall 作用(subsys_initcall 作用)
- linux 内核中的 __define_initcall
- 内核驱动初始化顺序 ---- __define_initcall
- 宏__define_initcall(level,fn)的作用 和 do_initcalls()
- 配置odbc连接oracle数据库
- apache2.x+php-5.2.x+mysql-5.x在Windows XP上的安装配置过程
- 在 Linux / Windows平台中调试 C/C++ 内存泄漏方法
- C#导出Excel总结
- 解决 有一个无效 SelectedValue,因为它不在项目列表中
- __define_initcall()
- 经典算法(8)- 插入排序(Insertion Sort) 及三个基本排序算法的比较
- 用一个表的某个字段更新另一个表的某个字段
- csdn上关于字符集的一篇帖子
- Python的yield关键字
- Libsvm使用心得及验证
- 不要滥用IT规划
- ubuntu 中 undefined sem_init的解决方案
- HDU 1863 畅通工程(最小生成树prim算法)