Lines Matching refs:ts

134 static int auo_pixcir_collect_data(struct auo_pixcir_ts *ts,  in auo_pixcir_collect_data()  argument
137 struct i2c_client *client = ts->client; in auo_pixcir_collect_data()
138 const struct auo_pixcir_ts_platdata *pdata = ts->pdata; in auo_pixcir_collect_data()
183 struct auo_pixcir_ts *ts = dev_id; in auo_pixcir_interrupt() local
184 const struct auo_pixcir_ts_platdata *pdata = ts->pdata; in auo_pixcir_interrupt()
191 while (!ts->stopped) { in auo_pixcir_interrupt()
194 if (ts->touch_ind_mode) { in auo_pixcir_interrupt()
196 input_mt_sync(ts->input); in auo_pixcir_interrupt()
197 input_report_key(ts->input, BTN_TOUCH, 0); in auo_pixcir_interrupt()
198 input_sync(ts->input); in auo_pixcir_interrupt()
203 ret = auo_pixcir_collect_data(ts, point); in auo_pixcir_interrupt()
206 if (!ts->touch_ind_mode) in auo_pixcir_interrupt()
209 wait_event_timeout(ts->wait, ts->stopped, in auo_pixcir_interrupt()
216 input_report_abs(ts->input, ABS_MT_POSITION_X, in auo_pixcir_interrupt()
218 input_report_abs(ts->input, ABS_MT_POSITION_Y, in auo_pixcir_interrupt()
220 input_report_abs(ts->input, ABS_MT_TOUCH_MAJOR, in auo_pixcir_interrupt()
222 input_report_abs(ts->input, ABS_MT_TOUCH_MINOR, in auo_pixcir_interrupt()
224 input_report_abs(ts->input, ABS_MT_ORIENTATION, in auo_pixcir_interrupt()
226 input_mt_sync(ts->input); in auo_pixcir_interrupt()
239 input_report_key(ts->input, BTN_TOUCH, fingers > 0); in auo_pixcir_interrupt()
242 input_report_abs(ts->input, ABS_X, point[abs].coord_x); in auo_pixcir_interrupt()
243 input_report_abs(ts->input, ABS_Y, point[abs].coord_y); in auo_pixcir_interrupt()
246 input_sync(ts->input); in auo_pixcir_interrupt()
249 if (!ts->touch_ind_mode) in auo_pixcir_interrupt()
252 wait_event_timeout(ts->wait, ts->stopped, in auo_pixcir_interrupt()
266 static int auo_pixcir_power_mode(struct auo_pixcir_ts *ts, int mode) in auo_pixcir_power_mode() argument
268 struct i2c_client *client = ts->client; in auo_pixcir_power_mode()
291 static int auo_pixcir_int_config(struct auo_pixcir_ts *ts, in auo_pixcir_int_config() argument
294 struct i2c_client *client = ts->client; in auo_pixcir_int_config()
295 const struct auo_pixcir_ts_platdata *pdata = ts->pdata; in auo_pixcir_int_config()
317 ts->touch_ind_mode = pdata->int_setting == AUO_PIXCIR_INT_TOUCH_IND; in auo_pixcir_int_config()
323 static int auo_pixcir_int_toggle(struct auo_pixcir_ts *ts, bool enable) in auo_pixcir_int_toggle() argument
325 struct i2c_client *client = ts->client; in auo_pixcir_int_toggle()
351 static int auo_pixcir_start(struct auo_pixcir_ts *ts) in auo_pixcir_start() argument
353 struct i2c_client *client = ts->client; in auo_pixcir_start()
356 ret = auo_pixcir_power_mode(ts, AUO_PIXCIR_POWER_ACTIVE); in auo_pixcir_start()
363 ts->stopped = false; in auo_pixcir_start()
367 ret = auo_pixcir_int_toggle(ts, 1); in auo_pixcir_start()
378 static int auo_pixcir_stop(struct auo_pixcir_ts *ts) in auo_pixcir_stop() argument
380 struct i2c_client *client = ts->client; in auo_pixcir_stop()
383 ret = auo_pixcir_int_toggle(ts, 0); in auo_pixcir_stop()
392 ts->stopped = true; in auo_pixcir_stop()
394 wake_up(&ts->wait); in auo_pixcir_stop()
396 return auo_pixcir_power_mode(ts, AUO_PIXCIR_POWER_DEEP_SLEEP); in auo_pixcir_stop()
401 struct auo_pixcir_ts *ts = input_get_drvdata(dev); in auo_pixcir_input_open() local
403 return auo_pixcir_start(ts); in auo_pixcir_input_open()
408 struct auo_pixcir_ts *ts = input_get_drvdata(dev); in auo_pixcir_input_close() local
410 auo_pixcir_stop(ts); in auo_pixcir_input_close()
418 struct auo_pixcir_ts *ts = i2c_get_clientdata(client); in auo_pixcir_suspend() local
419 struct input_dev *input = ts->input; in auo_pixcir_suspend()
430 ret = auo_pixcir_start(ts); in auo_pixcir_suspend()
436 ret = auo_pixcir_power_mode(ts, AUO_PIXCIR_POWER_SLEEP); in auo_pixcir_suspend()
438 ret = auo_pixcir_stop(ts); in auo_pixcir_suspend()
450 struct auo_pixcir_ts *ts = i2c_get_clientdata(client); in auo_pixcir_resume() local
451 struct input_dev *input = ts->input; in auo_pixcir_resume()
461 ret = auo_pixcir_stop(ts); in auo_pixcir_resume()
468 ret = auo_pixcir_start(ts); in auo_pixcir_resume()
531 struct auo_pixcir_ts *ts = data; in auo_pixcir_reset() local
533 gpio_set_value(ts->pdata->gpio_rst, 0); in auo_pixcir_reset()
540 struct auo_pixcir_ts *ts; in auo_pixcir_probe() local
552 ts = devm_kzalloc(&client->dev, in auo_pixcir_probe()
554 if (!ts) in auo_pixcir_probe()
563 ts->pdata = pdata; in auo_pixcir_probe()
564 ts->client = client; in auo_pixcir_probe()
565 ts->input = input_dev; in auo_pixcir_probe()
566 ts->touch_ind_mode = 0; in auo_pixcir_probe()
567 ts->stopped = true; in auo_pixcir_probe()
568 init_waitqueue_head(&ts->wait); in auo_pixcir_probe()
570 snprintf(ts->phys, sizeof(ts->phys), in auo_pixcir_probe()
574 input_dev->phys = ts->phys; in auo_pixcir_probe()
600 input_set_drvdata(ts->input, ts); in auo_pixcir_probe()
619 error = devm_add_action(&client->dev, auo_pixcir_reset, ts); in auo_pixcir_probe()
621 auo_pixcir_reset(ts); in auo_pixcir_probe()
637 error = auo_pixcir_int_config(ts, pdata->int_setting); in auo_pixcir_probe()
644 input_dev->name, ts); in auo_pixcir_probe()
652 error = auo_pixcir_stop(ts); in auo_pixcir_probe()
663 i2c_set_clientdata(client, ts); in auo_pixcir_probe()