将Driver模块中的MODULE_INFO(version,xxxx)保持与内核版本一致。例如:
在Android内核源码中,module_layout定义在include/linux/module.h中:
#define module_layout(layout) layout
在驱动代码中,可以通过MODULE_INFO(version, …)定义模块版本:
MODULE_INFO(version, "1.0.0");
如果使用的内核源码版本与驱动版本不一致,就可能会出现'Insmod disagrees about version of symbol module_layout”的错误。这时候,需要将MODULE_INFO(version, …)中的版本号改为与当前内核源码版本一致,例如:
MODULE_INFO(version, "3.10.0");
这样就可以避免版本不一致的问题。