使用警告构建Linux内核模块i2c_register_board_info undefined

时间:2017-03-22 07:52:25

标签: module linux-kernel driver

我按照kernel.org中的示例编写i2c驱动程序,但不幸的是,当我编译时,我收到了此警告

  

警告:“i2c_register_board_info”[/home/pi/builddriver/samplei2c/pn535.ko]未定义!

尽管编译时出现1个警告并且没有错误,但我无法使用insmod模块。这是insmod

时的错误
  

insmod:错误:无法插入模块pn535.ko:模块格式无效

我的问题是如何解决上面的警告?我认为它使.ko文件无效。这是我的源代码 pastebin

谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

这在内核模块中是不可能的,因为函数i2c_register_board_info没有从内核源代码树导出到内核模块(使用obj-m targets构建)。您可以使用(obj-y targets)在内核源代码树中构建驱动程序来实现此目的。