Lines Matching refs:ts

172 static int sis_ts_report_contact(struct sis_ts_data *ts, const u8 *data, u8 id)  in sis_ts_report_contact()  argument
174 struct input_dev *input = ts->input; in sis_ts_report_contact()
182 dev_err(&ts->client->dev, "Unexpected touch status: %#02x\n", in sis_ts_report_contact()
223 static void sis_ts_handle_packet(struct sis_ts_data *ts) in sis_ts_handle_packet() argument
234 error = sis_read_packet(ts->client, ts->packet, in sis_ts_handle_packet()
242 dev_err(&ts->client->dev, in sis_ts_handle_packet()
248 report_id = ts->packet[SIS_PKT_REPORT_OFFSET]; in sis_ts_handle_packet()
249 contact = &ts->packet[SIS_PKT_CONTACT_OFFSET]; in sis_ts_handle_packet()
253 error = sis_ts_report_contact(ts, contact, report_id); in sis_ts_handle_packet()
272 input_mt_sync_frame(ts->input); in sis_ts_handle_packet()
273 input_sync(ts->input); in sis_ts_handle_packet()
278 struct sis_ts_data *ts = dev_id; in sis_ts_irq_handler() local
281 sis_ts_handle_packet(ts); in sis_ts_irq_handler()
282 } while (ts->attn_gpio && gpiod_get_value_cansleep(ts->attn_gpio)); in sis_ts_irq_handler()
287 static void sis_ts_reset(struct sis_ts_data *ts) in sis_ts_reset() argument
289 if (ts->reset_gpio) { in sis_ts_reset()
292 gpiod_set_value(ts->reset_gpio, 1); in sis_ts_reset()
294 gpiod_set_value(ts->reset_gpio, 0); in sis_ts_reset()
301 struct sis_ts_data *ts; in sis_ts_probe() local
305 ts = devm_kzalloc(&client->dev, sizeof(*ts), GFP_KERNEL); in sis_ts_probe()
306 if (!ts) in sis_ts_probe()
309 ts->client = client; in sis_ts_probe()
311 ts->attn_gpio = devm_gpiod_get_optional(&client->dev, in sis_ts_probe()
313 if (IS_ERR(ts->attn_gpio)) in sis_ts_probe()
314 return dev_err_probe(&client->dev, PTR_ERR(ts->attn_gpio), in sis_ts_probe()
317 ts->reset_gpio = devm_gpiod_get_optional(&client->dev, in sis_ts_probe()
319 if (IS_ERR(ts->reset_gpio)) in sis_ts_probe()
320 return dev_err_probe(&client->dev, PTR_ERR(ts->reset_gpio), in sis_ts_probe()
323 sis_ts_reset(ts); in sis_ts_probe()
325 ts->input = input = devm_input_allocate_device(&client->dev); in sis_ts_probe()
352 client->name, ts); in sis_ts_probe()
358 error = input_register_device(ts->input); in sis_ts_probe()