内核模块加载后提示错误: no symbol version for ***

linux内核版本:

目的:做总线设备驱动

两个.ko文件中  第二个需要使用第一个文件的变量

.c文件中已经进行外部声明

insmod 时出现以下问题:

# insmod bus.ko
# insmod driver.ko
driver: no symbol version for my_bus_type
driver: Unknown symbol my_bus_type (err -22)
insmod: cannot insert 'driver.ko': invalid parameter


解决办法:

因为driver.c 要使用bus.c中的一个变量

所以

1.make bus.c

2.将bus.c中的Module.symvers拷进driver目录下

3.make driver.c



尝试加载后成功。

你可能感兴趣的:(linux驱动)