ubuntu下编译android4.0.3内核时报错怎么解决

drivers/misc/pmem.c: In function ‘flush_pmem_file’:
drivers/misc/pmem.c:806: error: implicit declaration of function ‘dmac_flush_range’
drivers/misc/pmem.c: In function ‘debug_read’:
drivers/misc/pmem.c:1183: warning: cast from pointer to integer of different size
drivers/misc/pmem.c: At top level:
drivers/misc/pmem.c:1218: warning: initialization from incompatible pointer type
drivers/misc/pmem.c: In function ‘pmem_setup’:
drivers/misc/pmem.c:1276: error: implicit declaration of function ‘ioremap_cached’
drivers/misc/pmem.c:1277: warning: assignment makes pointer from integer without a cast
drivers/misc/pmem.c:1294: warning: cast to pointer from integer of different size
make[2]: *** [drivers/misc/pmem.o] 错误 1
make[1]: *** [drivers/misc] 错误 2
make: *** [drivers] 错误 2

1.
error: implicit declaration of function 提示的是找不到.h中的函数定义,检查你的源码是否完整
2.
make前是否正确进行了config.仔细阅读readme,这是驱动代码,你是否希望它被编译,不需要的话,如何不编译此部分

去看看是不是缺少重要的文件

http://blog.csdn.net/yylklshmyt20090217/article/details/4387488

经过这几天的我自己的编译情况我发现出现这中报错的原因应该是配置的问题,make menuconfig 没有配置好会出现类似的报错,所一要想不出现这种错误,要么你对配置信息很了解,能自己配置好针对不同体系的.config,
另一个解决办法就是找已经配置好的文件,一般在源代码中都能找到,具体的目录可以网上查到,新手的话还是不要自己配置.config文件,我之前以为make menuconfig后什么都不改,直接保存后生成的.config文件就可以,看来还是太年轻了