LINUX_VERSION_CODE 是表示内核版本的一个宏定义,在内核编程里经常用到,当然,也有不用到的,则会通过在所有的源文件中加入一行 #define __NO_VERSION__
你的程序看起来是必须要使用LINUX_VERSION_CODE 的,所以你应该检查你的代码是否包含version.h,因为module.h 在有 __NO_VERSION__的定义的情况下不自动包含它,而很多情况下的编译flag里面都是有-D__NO_VERSION__的

。
不确定你的源码是否真的没有问题,但我真的已经改过很多网上下的有问题的驱动程序了,尤其是intel的网卡