博主使用的板子是天嵌IMX6Q_E9_V2
内核版本:3.0.35
这篇博客主要的目的是为了解析input触摸驱动,纯属个人理解。
里面可能也有一些理解不到位的地方,还请大家指出,互相学习,共同进步。
1.向i2c-core注册I2C设备驱动:i2c_add_driver(&ft5x0x_ts_driver); ----放在驱动的init函数内
static struct i2c_driver ft5x0x_ts_driver = {
.probe = ft5x0x_ts_probe, //包含相关注册
.remove = __devexit_p(ft5x0x_ts_remove), //包含相关注销
.id_table = ft5x0x_ts_id, //用于device与drive配对,函数指针的调用
.driver = {
.name = "ft5x06_ts", //驱动名称,要和板级信息里面填的名称一样
.owner = THIS_MODULE,
},
};
2.配对成功进入probe函数
1)配置中断相关,并注册
中断机制建议使用工作队列搭配互斥锁
2)配置input子系统相关,并注册