I2C总线上字符设备驱动加载不成功,probe函数没有执行。
module_init(kxtf9_init);
i2c_add_driver(&i2c_kxtf9_driver)
static int __init kxtf9_init(void)
{
int ret = 0;
if ((ret = i2c_add_driver(&i2c_kxtf9_driver))) {
printk(KERN_WARNING "KXTF9: Driver registration failed,"
" module not inserted.\n");
return ret;
}
return ret;
}
检查i2c_add_driver的返回值是0,没有异常。
i2c_kxtf9_driver结构如下
struct i2c_driver i2c_kxtf9_driver = {
.driver = {
.name = "kxtf9",
.owner = THIS_MODULE,
},
.probe = kxtf9_probe,
.remove = kxtf9_remove,
.id_table = kxtf9_id,
};
kxtf9_probe也作了定义,但没有执行。