linux中gt9xx驱动的struct goodix_ts_data结构体解析
时间: 2024-03-27 17:38:46 浏览: 183
[linux]sk_buff结构体详解
5星 · 资源好评率100%
`struct goodix_ts_data`是gt9xx触摸屏驱动中的一个结构体,用于保存触摸屏设备的相关信息。该结构体的定义如下:
```
struct goodix_ts_data {
struct i2c_client *client; // I2C客户端对象
struct input_dev *input_dev; // 输入设备对象
struct regulator *vdd; // 电压调节器对象
struct delayed_work work; // 延迟工作对象
u8 config[GTP_CONFIG_MAX_LENGTH + GTP_ADDR_LENGTH]; // 触摸屏配置数据
u32 gtp_fw_version; // 触摸屏固件版本号
u16 max_x; // 触摸屏最大X坐标
u16 max_y; // 触摸屏最大Y坐标
u32 irq_flags; // 中断标志
u32 point_num; // 触摸点数量
bool suspended; // 睡眠状态标志
bool use_irq; // 是否使用中断
u8 irq_gpio; // 中断GPIO
u8 rst_gpio; // 复位GPIO
u16 swap_xy; // 交换X和Y坐标标志
u16 invert_x; // X坐标反转标志
u16 invert_y; // Y坐标反转标志
u16 filter; // 滤波器系数
u16 max_touch_num; // 最大触摸点数量
u16 gesture; // 手势识别标志
u16 fw_check_sum; // 固件校验和
struct mutex mutex; // 互斥信号量
struct workqueue_struct *wq; // 工作队列
struct completion cts_complete;// 完成信号量
};
```
该结构体中包含了触摸屏设备的I2C客户端对象、输入设备对象、电压调节器对象、中断标志、触摸点数量等信息。其中,`config`数组用于保存触摸屏的配置数据,`max_x`和`max_y`表示触摸屏的最大X坐标和最大Y坐标。`irq_flags`表示中断标志,`point_num`表示触摸点数量,`use_irq`表示是否使用中断。`invert_x`和`invert_y`表示X坐标和Y坐标是否翻转,`filter`表示滤波器系数,`max_touch_num`表示最大触摸点数量,`gesture`表示手势识别标志,`fw_check_sum`表示固件校验和等。总之,`struct goodix_ts_data`结构体保存了gt9xx触摸屏驱动中所需的各种参数和信息。
阅读全文