Lines Matching refs:data

74 static int __mms114_read_reg(struct mms114_data *data, unsigned int reg,  in __mms114_read_reg()  argument
77 struct i2c_client *client = data->client; in __mms114_read_reg()
108 static int mms114_read_reg(struct mms114_data *data, unsigned int reg) in mms114_read_reg() argument
114 return data->cache_mode_control; in mms114_read_reg()
116 error = __mms114_read_reg(data, reg, 1, &val); in mms114_read_reg()
120 static int mms114_write_reg(struct mms114_data *data, unsigned int reg, in mms114_write_reg() argument
123 struct i2c_client *client = data->client; in mms114_write_reg()
139 data->cache_mode_control = val; in mms114_write_reg()
144 static void mms114_process_mt(struct mms114_data *data, struct mms114_touch *touch) in mms114_process_mt() argument
146 const struct mms114_platform_data *pdata = data->pdata; in mms114_process_mt()
147 struct i2c_client *client = data->client; in mms114_process_mt()
148 struct input_dev *input_dev = data->input_dev; in mms114_process_mt()
195 struct mms114_data *data = dev_id; in mms114_interrupt() local
196 struct input_dev *input_dev = data->input_dev; in mms114_interrupt()
210 packet_size = mms114_read_reg(data, MMS114_PACKET_SIZE); in mms114_interrupt()
216 error = __mms114_read_reg(data, MMS114_INFOMATION, packet_size, in mms114_interrupt()
222 mms114_process_mt(data, touch + index); in mms114_interrupt()
224 input_mt_report_pointer_emulation(data->input_dev, true); in mms114_interrupt()
225 input_sync(data->input_dev); in mms114_interrupt()
231 static int mms114_set_active(struct mms114_data *data, bool active) in mms114_set_active() argument
235 val = mms114_read_reg(data, MMS114_MODE_CONTROL); in mms114_set_active()
245 return mms114_write_reg(data, MMS114_MODE_CONTROL, val); in mms114_set_active()
248 static int mms114_get_version(struct mms114_data *data) in mms114_get_version() argument
250 struct device *dev = &data->client->dev; in mms114_get_version()
254 error = __mms114_read_reg(data, MMS114_TSP_REV, 6, buf); in mms114_get_version()
264 static int mms114_setup_regs(struct mms114_data *data) in mms114_setup_regs() argument
266 const struct mms114_platform_data *pdata = data->pdata; in mms114_setup_regs()
270 error = mms114_get_version(data); in mms114_setup_regs()
274 error = mms114_set_active(data, true); in mms114_setup_regs()
280 error = mms114_write_reg(data, MMS114_XY_RESOLUTION_H, val); in mms114_setup_regs()
285 error = mms114_write_reg(data, MMS114_X_RESOLUTION, val); in mms114_setup_regs()
290 error = mms114_write_reg(data, MMS114_Y_RESOLUTION, val); in mms114_setup_regs()
295 error = mms114_write_reg(data, MMS114_CONTACT_THRESHOLD, in mms114_setup_regs()
302 error = mms114_write_reg(data, MMS114_MOVING_THRESHOLD, in mms114_setup_regs()
311 static int mms114_start(struct mms114_data *data) in mms114_start() argument
313 struct i2c_client *client = data->client; in mms114_start()
316 error = regulator_enable(data->core_reg); in mms114_start()
322 error = regulator_enable(data->io_reg); in mms114_start()
325 regulator_disable(data->core_reg); in mms114_start()
331 error = mms114_setup_regs(data); in mms114_start()
333 regulator_disable(data->io_reg); in mms114_start()
334 regulator_disable(data->core_reg); in mms114_start()
338 if (data->pdata->cfg_pin) in mms114_start()
339 data->pdata->cfg_pin(true); in mms114_start()
346 static void mms114_stop(struct mms114_data *data) in mms114_stop() argument
348 struct i2c_client *client = data->client; in mms114_stop()
353 if (data->pdata->cfg_pin) in mms114_stop()
354 data->pdata->cfg_pin(false); in mms114_stop()
356 error = regulator_disable(data->io_reg); in mms114_stop()
360 error = regulator_disable(data->core_reg); in mms114_stop()
367 struct mms114_data *data = input_get_drvdata(dev); in mms114_input_open() local
369 return mms114_start(data); in mms114_input_open()
374 struct mms114_data *data = input_get_drvdata(dev); in mms114_input_close() local
376 mms114_stop(data); in mms114_input_close()
427 struct mms114_data *data; in mms114_probe() local
447 data = devm_kzalloc(&client->dev, sizeof(struct mms114_data), in mms114_probe()
450 if (!data || !input_dev) { in mms114_probe()
455 data->client = client; in mms114_probe()
456 data->input_dev = input_dev; in mms114_probe()
457 data->pdata = pdata; in mms114_probe()
468 input_set_abs_params(input_dev, ABS_X, 0, data->pdata->x_size, 0, 0); in mms114_probe()
469 input_set_abs_params(input_dev, ABS_Y, 0, data->pdata->y_size, 0, 0); in mms114_probe()
476 0, data->pdata->x_size, 0, 0); in mms114_probe()
478 0, data->pdata->y_size, 0, 0); in mms114_probe()
481 input_set_drvdata(input_dev, data); in mms114_probe()
482 i2c_set_clientdata(client, data); in mms114_probe()
484 data->core_reg = devm_regulator_get(&client->dev, "avdd"); in mms114_probe()
485 if (IS_ERR(data->core_reg)) { in mms114_probe()
486 error = PTR_ERR(data->core_reg); in mms114_probe()
492 data->io_reg = devm_regulator_get(&client->dev, "vdd"); in mms114_probe()
493 if (IS_ERR(data->io_reg)) { in mms114_probe()
494 error = PTR_ERR(data->io_reg); in mms114_probe()
502 dev_name(&client->dev), data); in mms114_probe()
509 error = input_register_device(data->input_dev); in mms114_probe()
521 struct mms114_data *data = i2c_get_clientdata(client); in mms114_suspend() local
522 struct input_dev *input_dev = data->input_dev; in mms114_suspend()
536 mms114_stop(data); in mms114_suspend()
545 struct mms114_data *data = i2c_get_clientdata(client); in mms114_resume() local
546 struct input_dev *input_dev = data->input_dev; in mms114_resume()
551 error = mms114_start(data); in mms114_resume()