Lines Matching defs:ts_data

58 static int surface3_spi_read(struct surface3_ts_data *ts_data)
60 struct spi_device *spi = ts_data->spi;
62 memset(ts_data->rd_buf, 0, sizeof(ts_data->rd_buf));
63 return spi_read(spi, ts_data->rd_buf, sizeof(ts_data->rd_buf));
66 static void surface3_spi_report_touch(struct surface3_ts_data *ts_data,
72 slot = input_mt_get_slot_by_key(ts_data->input_dev,
77 input_mt_slot(ts_data->input_dev, slot);
78 input_mt_report_slot_state(ts_data->input_dev, MT_TOOL_FINGER, st);
80 input_report_abs(ts_data->input_dev,
83 input_report_abs(ts_data->input_dev,
86 input_report_abs(ts_data->input_dev,
89 input_report_abs(ts_data->input_dev,
95 static void surface3_spi_process_touch(struct surface3_ts_data *ts_data, u8 *data)
114 surface3_spi_report_touch(ts_data, finger);
117 input_mt_sync_frame(ts_data->input_dev);
118 input_sync(ts_data->input_dev);
121 static void surface3_spi_report_pen(struct surface3_ts_data *ts_data,
124 struct input_dev *dev = ts_data->pen_input_dev;
131 if (ts_data->pen_tool != tool) {
132 input_report_key(dev, ts_data->pen_tool, 0);
134 ts_data->pen_tool = tool;
139 input_report_key(dev, ts_data->pen_tool, prox);
158 static void surface3_spi_process_pen(struct surface3_ts_data *ts_data, u8 *data)
164 surface3_spi_report_pen(ts_data, pen);
165 input_sync(ts_data->pen_input_dev);
168 static void surface3_spi_process(struct surface3_ts_data *ts_data)
173 u8 *data = ts_data->rd_buf;
176 dev_err(&ts_data->spi->dev,
182 surface3_spi_process_touch(ts_data, data);
185 surface3_spi_process_pen(ts_data, data);
188 dev_err(&ts_data->spi->dev,