Lines Matching refs:ts

70 static void ektf2127_report_event(struct ektf2127_ts *ts, const u8 *buf)  in ektf2127_report_event()  argument
78 dev_err(&ts->client->dev, in ektf2127_report_event()
85 input_mt_assign_slots(ts->input, slots, touches, in ektf2127_report_event()
89 input_mt_slot(ts->input, slots[i]); in ektf2127_report_event()
90 input_mt_report_slot_state(ts->input, MT_TOOL_FINGER, true); in ektf2127_report_event()
91 touchscreen_report_pos(ts->input, &ts->prop, in ektf2127_report_event()
95 input_mt_sync_frame(ts->input); in ektf2127_report_event()
96 input_sync(ts->input); in ektf2127_report_event()
99 static void ektf2127_report2_contact(struct ektf2127_ts *ts, int slot, in ektf2127_report2_contact() argument
102 input_mt_slot(ts->input, slot); in ektf2127_report2_contact()
103 input_mt_report_slot_state(ts->input, MT_TOOL_FINGER, active); in ektf2127_report2_contact()
109 touchscreen_report_pos(ts->input, &ts->prop, x, y, true); in ektf2127_report2_contact()
113 static void ektf2127_report2_event(struct ektf2127_ts *ts, const u8 *buf) in ektf2127_report2_event() argument
115 ektf2127_report2_contact(ts, 0, &buf[1], !!(buf[7] & 2)); in ektf2127_report2_event()
116 ektf2127_report2_contact(ts, 1, &buf[4], !!(buf[7] & 4)); in ektf2127_report2_event()
118 input_mt_sync_frame(ts->input); in ektf2127_report2_event()
119 input_sync(ts->input); in ektf2127_report2_event()
124 struct ektf2127_ts *ts = dev_id; in ektf2127_irq() local
125 struct device *dev = &ts->client->dev; in ektf2127_irq()
129 ret = i2c_master_recv(ts->client, buf, EKTF2127_TOUCH_REPORT_SIZE); in ektf2127_irq()
137 ektf2127_report_event(ts, buf); in ektf2127_irq()
141 ektf2127_report2_event(ts, buf); in ektf2127_irq()
164 struct ektf2127_ts *ts = input_get_drvdata(dev); in ektf2127_start() local
166 enable_irq(ts->client->irq); in ektf2127_start()
167 gpiod_set_value_cansleep(ts->power_gpios, 1); in ektf2127_start()
174 struct ektf2127_ts *ts = input_get_drvdata(dev); in ektf2127_stop() local
176 disable_irq(ts->client->irq); in ektf2127_stop()
177 gpiod_set_value_cansleep(ts->power_gpios, 0); in ektf2127_stop()
182 struct ektf2127_ts *ts = i2c_get_clientdata(to_i2c_client(dev)); in ektf2127_suspend() local
184 mutex_lock(&ts->input->mutex); in ektf2127_suspend()
185 if (input_device_enabled(ts->input)) in ektf2127_suspend()
186 ektf2127_stop(ts->input); in ektf2127_suspend()
187 mutex_unlock(&ts->input->mutex); in ektf2127_suspend()
194 struct ektf2127_ts *ts = i2c_get_clientdata(to_i2c_client(dev)); in ektf2127_resume() local
196 mutex_lock(&ts->input->mutex); in ektf2127_resume()
197 if (input_device_enabled(ts->input)) in ektf2127_resume()
198 ektf2127_start(ts->input); in ektf2127_resume()
199 mutex_unlock(&ts->input->mutex); in ektf2127_resume()
250 struct ektf2127_ts *ts; in ektf2127_probe() local
261 ts = devm_kzalloc(dev, sizeof(*ts), GFP_KERNEL); in ektf2127_probe()
262 if (!ts) in ektf2127_probe()
266 ts->power_gpios = devm_gpiod_get(dev, "power", GPIOD_OUT_HIGH); in ektf2127_probe()
267 if (IS_ERR(ts->power_gpios)) in ektf2127_probe()
268 return dev_err_probe(dev, PTR_ERR(ts->power_gpios), "Error getting power gpio\n"); in ektf2127_probe()
279 ts->client = client; in ektf2127_probe()
283 i2c_master_recv(ts->client, buf, sizeof(buf)); in ektf2127_probe()
296 touchscreen_parse_properties(input, true, &ts->prop); in ektf2127_probe()
305 ts->input = input; in ektf2127_probe()
306 input_set_drvdata(input, ts); in ektf2127_probe()
310 IRQF_ONESHOT, client->name, ts); in ektf2127_probe()
317 ektf2127_stop(ts->input); in ektf2127_probe()
323 i2c_set_clientdata(client, ts); in ektf2127_probe()