i2c装置加载驱动后没有执行probe

i2c设备加载驱动后没有执行probe
向大家请教下,
一个i2c设备执行i2c_add_driver()后返回值是0,但是却没有调用相应的probe函数,可能是什么原因导致的呢?


可能原理:
1.没有定义i2c device.
2.没有i2c host驱动.


ls说的对,在你的i2c驱动程序注册到系统的时候,系统会对每一个注册的i2c_client调用i2c总线的match函数,match函数通过id_table來判断这个驱动是否支持这个设备,如果支持则会调用i2c_drvier的probe函数,当然如果你没有注册i2c_client或者id_table写的不对,就不会调用probe函数。


把从设备的地址等信息加入到总线控制器数组里。

例如:

C/C++ code

static struct i2c_board_info i2c_devs0[] __initdata = {
{ I2C_BOARD_INFO("24c08", 0x50), },
{ I2C_BOARD_INFO("ov965x", 0x30), },
};

i2c装置加载驱动后没有执行probe

相关文章:

你感兴趣的文章:

标签云: