老驱动模块在高版本内核编译下错误解决

错误一:

scripts/Makefile.build:49: *** CFLAGS was changed in "/home/zjn/workdir/mytest/kermod/dma_i2c/Makefile". Fix it to use EXTRA_CFLAGS.  Stop.

将Makefile中CFLAGS 全部改成 EXTRA_CFLAGS

 

错误二:

/home/zjn/workdir/mytest/kermod/dma_i2c/priv/dev_dma_priv.h:7:26: error: linux/config.h: No such file or directory

这个是由于高版本内核(查看Changlog应该是从2.6.18去掉config.h,代以autoconf.h)
   已经把这个文件改名为autoconf.h
   解决办法:把#include注释掉或者在内核源码中创建空的config.h文件,
             从2.6.19后的新版本的内核已经不再包含config.h文件了
             图省事儿的话直接 touch ~/kernel/include/linux/config.h就成了。

你可能感兴趣的:(嵌入式Linux)