Lines Matching refs:ts

39 static int imagis_i2c_read_reg(struct imagis_ts *ts,  in imagis_i2c_read_reg()  argument
46 .addr = ts->client->addr, in imagis_i2c_read_reg()
51 .addr = ts->client->addr, in imagis_i2c_read_reg()
62 ret = i2c_transfer(ts->client->adapter, msg, ARRAY_SIZE(msg)); in imagis_i2c_read_reg()
69 dev_err(&ts->client->dev, in imagis_i2c_read_reg()
79 struct imagis_ts *ts = dev_id; in imagis_interrupt() local
85 error = imagis_i2c_read_reg(ts, IST3038C_REG_INTR_MESSAGE, in imagis_interrupt()
88 dev_err(&ts->client->dev, in imagis_interrupt()
95 dev_err(&ts->client->dev, in imagis_interrupt()
104 error = imagis_i2c_read_reg(ts, in imagis_interrupt()
108 dev_err(&ts->client->dev, in imagis_interrupt()
114 input_mt_slot(ts->input_dev, i); in imagis_interrupt()
115 input_mt_report_slot_state(ts->input_dev, MT_TOOL_FINGER, in imagis_interrupt()
117 touchscreen_report_pos(ts->input_dev, &ts->prop, in imagis_interrupt()
121 input_report_abs(ts->input_dev, ABS_MT_TOUCH_MAJOR, in imagis_interrupt()
125 input_mt_sync_frame(ts->input_dev); in imagis_interrupt()
126 input_sync(ts->input_dev); in imagis_interrupt()
134 struct imagis_ts *ts = _ts; in imagis_power_off() local
136 regulator_bulk_disable(ARRAY_SIZE(ts->supplies), ts->supplies); in imagis_power_off()
139 static int imagis_power_on(struct imagis_ts *ts) in imagis_power_on() argument
143 error = regulator_bulk_enable(ARRAY_SIZE(ts->supplies), ts->supplies); in imagis_power_on()
152 static int imagis_start(struct imagis_ts *ts) in imagis_start() argument
156 error = imagis_power_on(ts); in imagis_start()
160 enable_irq(ts->client->irq); in imagis_start()
165 static int imagis_stop(struct imagis_ts *ts) in imagis_stop() argument
167 disable_irq(ts->client->irq); in imagis_stop()
169 imagis_power_off(ts); in imagis_stop()
176 struct imagis_ts *ts = input_get_drvdata(dev); in imagis_input_open() local
178 return imagis_start(ts); in imagis_input_open()
183 struct imagis_ts *ts = input_get_drvdata(dev); in imagis_input_close() local
185 imagis_stop(ts); in imagis_input_close()
188 static int imagis_init_input_dev(struct imagis_ts *ts) in imagis_init_input_dev() argument
193 input_dev = devm_input_allocate_device(&ts->client->dev); in imagis_init_input_dev()
197 ts->input_dev = input_dev; in imagis_init_input_dev()
205 input_set_drvdata(input_dev, ts); in imagis_init_input_dev()
211 touchscreen_parse_properties(input_dev, true, &ts->prop); in imagis_init_input_dev()
212 if (!ts->prop.max_x || !ts->prop.max_y) { in imagis_init_input_dev()
213 dev_err(&ts->client->dev, in imagis_init_input_dev()
222 dev_err(&ts->client->dev, in imagis_init_input_dev()
229 dev_err(&ts->client->dev, in imagis_init_input_dev()
237 static int imagis_init_regulators(struct imagis_ts *ts) in imagis_init_regulators() argument
239 struct i2c_client *client = ts->client; in imagis_init_regulators()
241 ts->supplies[0].supply = "vdd"; in imagis_init_regulators()
242 ts->supplies[1].supply = "vddio"; in imagis_init_regulators()
244 ARRAY_SIZE(ts->supplies), in imagis_init_regulators()
245 ts->supplies); in imagis_init_regulators()
251 struct imagis_ts *ts; in imagis_probe() local
254 ts = devm_kzalloc(dev, sizeof(*ts), GFP_KERNEL); in imagis_probe()
255 if (!ts) in imagis_probe()
258 ts->client = i2c; in imagis_probe()
260 error = imagis_init_regulators(ts); in imagis_probe()
266 error = imagis_power_on(ts); in imagis_probe()
272 error = devm_add_action_or_reset(dev, imagis_power_off, ts); in imagis_probe()
278 error = imagis_i2c_read_reg(ts, in imagis_probe()
294 "imagis-touchscreen", ts); in imagis_probe()
301 error = imagis_init_input_dev(ts); in imagis_probe()
311 struct imagis_ts *ts = i2c_get_clientdata(client); in imagis_suspend() local
314 mutex_lock(&ts->input_dev->mutex); in imagis_suspend()
316 if (input_device_enabled(ts->input_dev)) in imagis_suspend()
317 retval = imagis_stop(ts); in imagis_suspend()
319 mutex_unlock(&ts->input_dev->mutex); in imagis_suspend()
327 struct imagis_ts *ts = i2c_get_clientdata(client); in imagis_resume() local
330 mutex_lock(&ts->input_dev->mutex); in imagis_resume()
332 if (input_device_enabled(ts->input_dev)) in imagis_resume()
333 retval = imagis_start(ts); in imagis_resume()
335 mutex_unlock(&ts->input_dev->mutex); in imagis_resume()