linux模块compilng错过文件夹asm

时间:2012-07-30 21:49:17

标签: linux module header kernel

我正在尝试编译驱动程序。我的内核版本是3.2.0-27-generic。

我只留下了我需要的内容:

#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/proc_fs.h>
#include <linux/pci.h>
#include <linux/delay.h>
#include <linux/dmi.h>

找到这些标题。但是当我尝试编译时,我得到的错误是找不到asm / cache.h文件。 当我挖挖斗时,我发现没有“asm”这样的文件夹,但是asm-generic,它包含了所需的标题。

带头文件夹的结构: 为什么要重命名?因此我无法编译其他驱动程序。如果我将“asm-geneic”重命名为“asm”,则会导致其他缺少的标题。这有什么不对?

1 个答案:

答案 0 :(得分:3)

asm / cache.h 依赖于体系结构,不同体系结构有不同的asm目录

arch/powerpc/include/asm/
arch/x86/include/asm/
arch/arm/include/asm
[...]

您无法将 include / asm-generic 重命名为 include / asm ,因为您的问题是您可以访问架构 asm 文件夹。尝试检查.config文件或手动设置 ARCH 变量。