本文转载于: https://www.cnblogs.com/sammei/archive/2013/03/14/3295598.html
路径
asm的路径是 arch/xxx/include/asm/
asm-generic 的路径是 include/asm-generic/
要点
-
代码中包含asm/中的头文件,如果某一个架构没有自己特殊代码的话,其中会使用通用版本的头文件,即包含 asm-generic/里的对应.h文件。
-
代码中一般不会直接包含 asm-generic/ 里的.h文件
-
每个架构都有自己的asm目录, 放一些架构相关的, 但是有些架构没有实现某些函数, 为了让编译通过, 就把这些东西放在asm-generic中.
举例
拿arm来举例
#include <asm/gpio.h> 引用的头文件是 arch/arm/include/asm/gpio.h
#include <asm-generic/gpio.h> 引用的是头文件是 include/asm-generic/gpio.h