Linux i2c-device驱动程序module_i2c_driver()

时间:2014-03-06 13:45:55

标签: linux-kernel linux-device-driver i2c

我正在使用Microchip MCP3021 IC的mcp3021.c文件。我的模块的initexit函数被替换为module_i2c_driver(mcp3021_driver),但是当我运行代码时,我看不到驱动程序寄存器在我的内核日志中打印。有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:0)

您正在使用哪个内核版本?因为这个宏是在3.3版之后的Linux内核中引入的。

因此,如果您使用的是内核版本,那么在编译内核时实际上应该会出错。

答案 1 :(得分:0)

你已经验证了很少的东西让它起作用,

  1. 确保I2C设备已正确安装在硬件中。
  2. 确认您的设备未处于重置状态。
  3. 确保您的设备树中使用了相应的I2C bus并且已正确配置驱动程序ID。
  4. 检查kernel configuration(.config)您的驱动程序是否已启用。
  5. 只有在满足所有条件的情况下才会调用I2C探测器。