Lines Matching refs:client

119 	struct i2c_client *client;
149 static int raydium_i2c_xfer(struct i2c_client *client, u32 addr,
160 ret = i2c_transfer(client->adapter, &xfer[xfer_start_idx], xfer_count);
167 static int raydium_i2c_send(struct i2c_client *client,
200 .addr = client->addr,
205 .addr = client->addr,
211 error = raydium_i2c_xfer(client, addr, xfer, ARRAY_SIZE(xfer));
218 dev_err(&client->dev, "%s failed: %d\n", __func__, error);
224 static int raydium_i2c_read(struct i2c_client *client,
249 .addr = client->addr,
254 .addr = client->addr,
259 .addr = client->addr,
266 error = raydium_i2c_xfer(client, addr, xfer, ARRAY_SIZE(xfer));
278 static int raydium_i2c_sw_reset(struct i2c_client *client)
283 error = raydium_i2c_send(client, RM_RESET_MSG_ADDR, &soft_rst_cmd,
286 dev_err(&client->dev, "software reset failed: %d\n", error);
297 struct i2c_client *client = ts->client;
304 error = raydium_i2c_send(client, RM_CMD_BOOT_WRT,
307 dev_err(&client->dev, "WRT HWID command failed: %d\n", error);
311 error = raydium_i2c_send(client, RM_CMD_BOOT_ACK, rbuf, 1);
313 dev_err(&client->dev, "Ack HWID command failed: %d\n", error);
317 error = raydium_i2c_read(client, RM_CMD_BOOT_CHK, rbuf, sizeof(rbuf));
319 dev_err(&client->dev, "Read HWID command failed: %d (%4ph)\n",
335 struct i2c_client *client = ts->client;
342 error = raydium_i2c_read(client, RM_CMD_DATA_BANK,
353 dev_warn(&client->dev,
364 dev_dbg(&client->dev,
368 error = raydium_i2c_read(client, RM_CMD_QUERY_BANK,
374 error = raydium_i2c_read(client, le32_to_cpu(query_bank_addr),
382 dev_err(&client->dev, "failed to query device parameters: %d\n", error);
388 struct i2c_client *client = ts->client;
394 error = raydium_i2c_read(client, RM_CMD_BOOT_READ, buf, sizeof(buf));
408 struct i2c_client *client = ts->client;
417 dev_err(&client->dev,
439 static int raydium_i2c_bl_chk_state(struct i2c_client *client,
453 error = raydium_i2c_read(client, RM_CMD_BOOT_CHK,
461 error = raydium_i2c_read(client, RM_CMD_BOOT_CHK,
469 dev_err(&client->dev, "%s: invalid target state %d\n",
480 static int raydium_i2c_write_object(struct i2c_client *client,
487 error = raydium_i2c_send(client, RM_CMD_BOOT_WRT, data, len);
489 dev_err(&client->dev, "WRT obj command failed: %d\n",
494 error = raydium_i2c_send(client, RM_CMD_BOOT_ACK, cmd, sizeof(cmd));
496 dev_err(&client->dev, "Ack obj command failed: %d\n", error);
500 error = raydium_i2c_bl_chk_state(client, state);
502 dev_err(&client->dev, "BL check state failed: %d\n", error);
508 static int raydium_i2c_boot_trigger(struct i2c_client *client)
523 error = raydium_i2c_write_object(client, cmd[i], sizeof(cmd[i]),
526 dev_err(&client->dev,
536 static int raydium_i2c_fw_trigger(struct i2c_client *client)
549 error = raydium_i2c_write_object(client, cmd[i], sizeof(cmd[i]),
552 dev_err(&client->dev,
562 static int raydium_i2c_check_path(struct i2c_client *client)
567 error = raydium_i2c_write_object(client, cmd, sizeof(cmd),
570 dev_err(&client->dev, "check path command failed: %d\n", error);
577 static int raydium_i2c_enter_bl(struct i2c_client *client)
582 error = raydium_i2c_write_object(client, cal_cmd, sizeof(cal_cmd),
585 dev_err(&client->dev, "enter bl command failed: %d\n", error);
593 static int raydium_i2c_leave_bl(struct i2c_client *client)
598 error = raydium_i2c_write_object(client, leave_cmd, sizeof(leave_cmd),
601 dev_err(&client->dev, "leave bl command failed: %d\n", error);
609 static int raydium_i2c_write_checksum(struct i2c_client *client,
618 error = raydium_i2c_write_object(client,
622 dev_err(&client->dev, "failed to write checksum: %d\n",
630 static int raydium_i2c_disable_watch_dog(struct i2c_client *client)
635 error = raydium_i2c_write_object(client, cmd, sizeof(cmd),
638 dev_err(&client->dev, "disable watchdog command failed: %d\n",
646 static int raydium_i2c_fw_write_page(struct i2c_client *client,
667 error = raydium_i2c_write_object(client, buf, RM_BL_WRT_LEN,
670 dev_err(&client->dev,
697 struct i2c_client *client = ts->client;
707 dev_err(&client->dev, "Invalid firmware length\n");
713 dev_err(&client->dev, "Unable to access IC %d\n", error);
719 error = raydium_i2c_enter_bl(client);
723 dev_err(&client->dev,
735 dev_err(&client->dev,
742 error = raydium_i2c_disable_watch_dog(client);
746 error = raydium_i2c_check_path(client);
750 error = raydium_i2c_boot_trigger(client);
752 dev_err(&client->dev, "send boot trigger fail: %d\n", error);
765 error = raydium_i2c_fw_write_page(client, page_nr++, data, len);
775 error = raydium_i2c_leave_bl(client);
777 dev_err(&client->dev,
782 dev_dbg(&client->dev, "left boot loader mode\n");
787 dev_err(&client->dev,
794 dev_err(&client->dev,
800 error = raydium_i2c_fw_trigger(client);
802 dev_err(&client->dev, "failed to trigger fw: %d\n", error);
808 error = raydium_i2c_write_checksum(client, fw->size, fw_checksum);
817 struct i2c_client *client = ts->client;
827 dev_dbg(&client->dev, "firmware name: %s\n", fw_file);
829 error = request_firmware(&fw, fw_file, &client->dev);
831 dev_err(&client->dev, "Unable to open firmware %s\n", fw_file);
835 disable_irq(client->irq);
839 dev_err(&client->dev, "firmware update failed: %d\n", error);
846 dev_err(&client->dev,
856 enable_irq(client->irq);
910 error = raydium_i2c_read(ts->client, ts->data_bank_addr,
918 dev_warn(&ts->client->dev,
933 struct i2c_client *client = to_i2c_client(dev);
934 struct raydium_data *ts = i2c_get_clientdata(client);
942 struct i2c_client *client = to_i2c_client(dev);
943 struct raydium_data *ts = i2c_get_clientdata(client);
952 struct i2c_client *client = to_i2c_client(dev);
953 struct raydium_data *ts = i2c_get_clientdata(client);
964 struct i2c_client *client = to_i2c_client(dev);
965 struct raydium_data *ts = i2c_get_clientdata(client);
983 struct i2c_client *client = to_i2c_client(dev);
984 struct raydium_data *ts = i2c_get_clientdata(client);
992 error = raydium_i2c_write_object(client, cal_cmd, sizeof(cal_cmd),
995 dev_err(&client->dev, "calibrate command failed: %d\n", error);
1028 dev_err(&ts->client->dev,
1036 dev_err(&ts->client->dev,
1065 static int raydium_i2c_probe(struct i2c_client *client)
1071 if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
1072 dev_err(&client->dev,
1077 ts = devm_kzalloc(&client->dev, sizeof(*ts), GFP_KERNEL);
1083 ts->client = client;
1084 i2c_set_clientdata(client, ts);
1086 ts->avdd = devm_regulator_get(&client->dev, "avdd");
1088 return dev_err_probe(&client->dev, PTR_ERR(ts->avdd),
1091 ts->vccio = devm_regulator_get(&client->dev, "vccio");
1093 return dev_err_probe(&client->dev, PTR_ERR(ts->vccio),
1096 ts->reset_gpio = devm_gpiod_get_optional(&client->dev, "reset",
1099 return dev_err_probe(&client->dev, PTR_ERR(ts->reset_gpio),
1106 error = devm_add_action_or_reset(&client->dev,
1109 dev_err(&client->dev,
1115 if (i2c_smbus_xfer(client->adapter, client->addr, 0,
1117 dev_err(&client->dev, "nothing at this address\n");
1123 dev_err(&client->dev, "failed to initialize: %d\n", error);
1127 ts->report_data = devm_kmalloc(&client->dev,
1132 ts->input = devm_input_allocate_device(&client->dev);
1134 dev_err(&client->dev, "Failed to allocate input device\n");
1154 dev_err(&client->dev,
1161 dev_err(&client->dev,
1166 error = devm_request_threaded_irq(&client->dev, client->irq,
1168 IRQF_ONESHOT, client->name, ts);
1170 dev_err(&client->dev, "Failed to register interrupt\n");
1177 static void raydium_enter_sleep(struct i2c_client *client)
1182 error = raydium_i2c_send(client, RM_CMD_ENTER_SLEEP,
1185 dev_err(&client->dev,
1191 struct i2c_client *client = to_i2c_client(dev);
1192 struct raydium_data *ts = i2c_get_clientdata(client);
1198 disable_irq(client->irq);
1201 raydium_enter_sleep(client);
1211 struct i2c_client *client = to_i2c_client(dev);
1212 struct raydium_data *ts = i2c_get_clientdata(client);
1215 raydium_i2c_sw_reset(client);
1221 enable_irq(client->irq);