Lines Matching refs:client
87 struct i2c_client *client; member
119 static int edt_ft5x06_ts_readwrite(struct i2c_client *client, in edt_ft5x06_ts_readwrite() argument
128 wrmsg[i].addr = client->addr; in edt_ft5x06_ts_readwrite()
135 wrmsg[i].addr = client->addr; in edt_ft5x06_ts_readwrite()
142 ret = i2c_transfer(client->adapter, wrmsg, i); in edt_ft5x06_ts_readwrite()
161 dev_err_ratelimited(&tsdata->client->dev, in edt_ft5x06_ts_check_crc()
173 struct device *dev = &tsdata->client->dev; in edt_ft5x06_ts_isr()
202 error = edt_ft5x06_ts_readwrite(tsdata->client, in edt_ft5x06_ts_isr()
271 return edt_ft5x06_ts_readwrite(tsdata->client, 4, in edt_ft5x06_register_write()
277 return edt_ft5x06_ts_readwrite(tsdata->client, 2, in edt_ft5x06_register_write()
297 error = edt_ft5x06_ts_readwrite(tsdata->client, 2, wrbuf, 2, in edt_ft5x06_register_read()
303 dev_err(&tsdata->client->dev, in edt_ft5x06_register_read()
313 error = edt_ft5x06_ts_readwrite(tsdata->client, 1, in edt_ft5x06_register_read()
352 struct i2c_client *client = to_i2c_client(dev); in edt_ft5x06_setting_show() local
353 struct edt_ft5x06_ts_data *tsdata = i2c_get_clientdata(client); in edt_ft5x06_setting_show()
387 dev_err(&tsdata->client->dev, in edt_ft5x06_setting_show()
397 dev_warn(&tsdata->client->dev, in edt_ft5x06_setting_show()
413 struct i2c_client *client = to_i2c_client(dev); in edt_ft5x06_setting_store() local
414 struct edt_ft5x06_ts_data *tsdata = i2c_get_clientdata(client); in edt_ft5x06_setting_store()
455 dev_err(&tsdata->client->dev, in edt_ft5x06_setting_store()
492 struct i2c_client *client = tsdata->client; in edt_ft5x06_factory_mode() local
497 disable_irq(client->irq); in edt_ft5x06_factory_mode()
515 dev_err(&client->dev, in edt_ft5x06_factory_mode()
530 dev_err(&client->dev, "not in factory mode after %dms.\n", in edt_ft5x06_factory_mode()
542 enable_irq(client->irq); in edt_ft5x06_factory_mode()
547 dev_err(&client->dev, "No factory mode support for M09\n"); in edt_ft5x06_factory_mode()
554 struct i2c_client *client = tsdata->client; in edt_ft5x06_work_mode() local
563 dev_err(&client->dev, in edt_ft5x06_work_mode()
579 dev_err(&client->dev, "not in work mode after %dms.\n", in edt_ft5x06_work_mode()
599 enable_irq(client->irq); in edt_ft5x06_work_mode()
640 struct i2c_client *client = tsdata->client; in edt_ft5x06_debugfs_raw_data_read() local
660 dev_dbg(&client->dev, in edt_ft5x06_debugfs_raw_data_read()
674 dev_dbg(&client->dev, in edt_ft5x06_debugfs_raw_data_read()
680 dev_dbg(&client->dev, in edt_ft5x06_debugfs_raw_data_read()
693 error = edt_ft5x06_ts_readwrite(tsdata->client, in edt_ft5x06_debugfs_raw_data_read()
758 static int edt_ft5x06_ts_identify(struct i2c_client *client, in edt_ft5x06_ts_identify() argument
772 error = edt_ft5x06_ts_readwrite(client, 1, "\xbb", in edt_ft5x06_ts_identify()
798 error = edt_ft5x06_ts_readwrite(client, 1, "\xA6", in edt_ft5x06_ts_identify()
805 error = edt_ft5x06_ts_readwrite(client, 1, "\xA8", in edt_ft5x06_ts_identify()
878 static int edt_ft5x06_ts_probe(struct i2c_client *client, in edt_ft5x06_ts_probe() argument
888 dev_dbg(&client->dev, "probing for EDT FT5x06 I2C\n"); in edt_ft5x06_ts_probe()
890 tsdata = devm_kzalloc(&client->dev, sizeof(*tsdata), GFP_KERNEL); in edt_ft5x06_ts_probe()
892 dev_err(&client->dev, "failed to allocate driver data.\n"); in edt_ft5x06_ts_probe()
896 chip_data = of_device_get_match_data(&client->dev); in edt_ft5x06_ts_probe()
900 dev_err(&client->dev, "invalid or missing chip data\n"); in edt_ft5x06_ts_probe()
906 tsdata->reset_gpio = devm_gpiod_get_optional(&client->dev, in edt_ft5x06_ts_probe()
910 dev_err(&client->dev, in edt_ft5x06_ts_probe()
915 tsdata->wake_gpio = devm_gpiod_get_optional(&client->dev, in edt_ft5x06_ts_probe()
919 dev_err(&client->dev, in edt_ft5x06_ts_probe()
935 input = devm_input_allocate_device(&client->dev); in edt_ft5x06_ts_probe()
937 dev_err(&client->dev, "failed to allocate input device.\n"); in edt_ft5x06_ts_probe()
942 tsdata->client = client; in edt_ft5x06_ts_probe()
946 error = edt_ft5x06_ts_identify(client, tsdata, fw_version); in edt_ft5x06_ts_probe()
948 dev_err(&client->dev, "touchscreen probe failed\n"); in edt_ft5x06_ts_probe()
953 edt_ft5x06_ts_get_defaults(&client->dev, tsdata); in edt_ft5x06_ts_probe()
956 dev_dbg(&client->dev, in edt_ft5x06_ts_probe()
962 input->dev.parent = &client->dev; in edt_ft5x06_ts_probe()
974 dev_err(&client->dev, "Unable to init MT slots.\n"); in edt_ft5x06_ts_probe()
979 i2c_set_clientdata(client, tsdata); in edt_ft5x06_ts_probe()
981 irq_flags = irq_get_trigger_type(client->irq); in edt_ft5x06_ts_probe()
986 error = devm_request_threaded_irq(&client->dev, client->irq, in edt_ft5x06_ts_probe()
988 client->name, tsdata); in edt_ft5x06_ts_probe()
990 dev_err(&client->dev, "Unable to request touchscreen IRQ.\n"); in edt_ft5x06_ts_probe()
994 error = sysfs_create_group(&client->dev.kobj, &edt_ft5x06_attr_group); in edt_ft5x06_ts_probe()
1002 edt_ft5x06_ts_prepare_debugfs(tsdata, dev_driver_string(&client->dev)); in edt_ft5x06_ts_probe()
1003 device_init_wakeup(&client->dev, 1); in edt_ft5x06_ts_probe()
1005 dev_dbg(&client->dev, in edt_ft5x06_ts_probe()
1007 client->irq, in edt_ft5x06_ts_probe()
1014 sysfs_remove_group(&client->dev.kobj, &edt_ft5x06_attr_group); in edt_ft5x06_ts_probe()
1018 static int edt_ft5x06_ts_remove(struct i2c_client *client) in edt_ft5x06_ts_remove() argument
1020 struct edt_ft5x06_ts_data *tsdata = i2c_get_clientdata(client); in edt_ft5x06_ts_remove()
1023 sysfs_remove_group(&client->dev.kobj, &edt_ft5x06_attr_group); in edt_ft5x06_ts_remove()
1030 struct i2c_client *client = to_i2c_client(dev); in edt_ft5x06_ts_suspend() local
1033 enable_irq_wake(client->irq); in edt_ft5x06_ts_suspend()
1040 struct i2c_client *client = to_i2c_client(dev); in edt_ft5x06_ts_resume() local
1043 disable_irq_wake(client->irq); in edt_ft5x06_ts_resume()