• Home
  • Raw
  • Download

Lines Matching refs:client

70 static int elan_i2c_read_block(struct i2c_client *client,  in elan_i2c_read_block()  argument
78 .addr = client->addr, in elan_i2c_read_block()
79 .flags = client->flags & I2C_M_TEN, in elan_i2c_read_block()
84 .addr = client->addr, in elan_i2c_read_block()
85 .flags = (client->flags & I2C_M_TEN) | I2C_M_RD, in elan_i2c_read_block()
92 ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs)); in elan_i2c_read_block()
96 static int elan_i2c_read_cmd(struct i2c_client *client, u16 reg, u8 *val) in elan_i2c_read_cmd() argument
100 retval = elan_i2c_read_block(client, reg, val, ETP_I2C_INF_LENGTH); in elan_i2c_read_cmd()
102 dev_err(&client->dev, "reading cmd (0x%04x) fail.\n", reg); in elan_i2c_read_cmd()
109 static int elan_i2c_write_cmd(struct i2c_client *client, u16 reg, u16 cmd) in elan_i2c_write_cmd() argument
116 .addr = client->addr, in elan_i2c_write_cmd()
117 .flags = client->flags & I2C_M_TEN, in elan_i2c_write_cmd()
123 ret = i2c_transfer(client->adapter, &msg, 1); in elan_i2c_write_cmd()
127 dev_err(&client->dev, "writing cmd (0x%04x) failed: %d\n", in elan_i2c_write_cmd()
135 static int elan_i2c_initialize(struct i2c_client *client) in elan_i2c_initialize() argument
137 struct device *dev = &client->dev; in elan_i2c_initialize()
141 error = elan_i2c_write_cmd(client, ETP_I2C_STAND_CMD, ETP_I2C_RESET); in elan_i2c_initialize()
151 error = i2c_master_recv(client, val, ETP_I2C_INF_LENGTH); in elan_i2c_initialize()
157 error = elan_i2c_read_block(client, ETP_I2C_DESC_CMD, in elan_i2c_initialize()
164 error = elan_i2c_read_block(client, ETP_I2C_REPORT_DESC_CMD, in elan_i2c_initialize()
174 static int elan_i2c_sleep_control(struct i2c_client *client, bool sleep) in elan_i2c_sleep_control() argument
176 return elan_i2c_write_cmd(client, ETP_I2C_STAND_CMD, in elan_i2c_sleep_control()
180 static int elan_i2c_power_control(struct i2c_client *client, bool enable) in elan_i2c_power_control() argument
186 error = elan_i2c_read_cmd(client, ETP_I2C_POWER_CMD, val); in elan_i2c_power_control()
188 dev_err(&client->dev, in elan_i2c_power_control()
200 error = elan_i2c_write_cmd(client, ETP_I2C_POWER_CMD, reg); in elan_i2c_power_control()
202 dev_err(&client->dev, in elan_i2c_power_control()
211 static int elan_i2c_set_mode(struct i2c_client *client, u8 mode) in elan_i2c_set_mode() argument
213 return elan_i2c_write_cmd(client, ETP_I2C_SET_CMD, mode); in elan_i2c_set_mode()
217 static int elan_i2c_calibrate(struct i2c_client *client) in elan_i2c_calibrate() argument
219 return elan_i2c_write_cmd(client, ETP_I2C_CALIBRATE_CMD, 1); in elan_i2c_calibrate()
222 static int elan_i2c_calibrate_result(struct i2c_client *client, u8 *val) in elan_i2c_calibrate_result() argument
224 return elan_i2c_read_block(client, ETP_I2C_CALIBRATE_CMD, val, 1); in elan_i2c_calibrate_result()
227 static int elan_i2c_get_baseline_data(struct i2c_client *client, in elan_i2c_get_baseline_data() argument
233 error = elan_i2c_read_cmd(client, in elan_i2c_get_baseline_data()
245 static int elan_i2c_get_pattern(struct i2c_client *client, u8 *pattern) in elan_i2c_get_pattern() argument
250 error = elan_i2c_read_cmd(client, ETP_I2C_PATTERN_CMD, val); in elan_i2c_get_pattern()
252 dev_err(&client->dev, "failed to get pattern: %d\n", error); in elan_i2c_get_pattern()
260 static int elan_i2c_get_version(struct i2c_client *client, in elan_i2c_get_version() argument
267 error = elan_i2c_get_pattern(client, &pattern_ver); in elan_i2c_get_version()
269 dev_err(&client->dev, "failed to get pattern version\n"); in elan_i2c_get_version()
273 error = elan_i2c_read_cmd(client, in elan_i2c_get_version()
278 dev_err(&client->dev, "failed to get %s version: %d\n", in elan_i2c_get_version()
290 static int elan_i2c_get_sm_version(struct i2c_client *client, in elan_i2c_get_sm_version() argument
298 error = elan_i2c_get_pattern(client, &pattern_ver); in elan_i2c_get_sm_version()
300 dev_err(&client->dev, "failed to get pattern version\n"); in elan_i2c_get_sm_version()
305 error = elan_i2c_read_cmd(client, ETP_I2C_IC_TYPE_CMD, val); in elan_i2c_get_sm_version()
307 dev_err(&client->dev, "failed to get ic type: %d\n", in elan_i2c_get_sm_version()
313 error = elan_i2c_read_cmd(client, ETP_I2C_NSM_VERSION_CMD, in elan_i2c_get_sm_version()
316 dev_err(&client->dev, "failed to get SM version: %d\n", in elan_i2c_get_sm_version()
323 error = elan_i2c_read_cmd(client, ETP_I2C_OSM_VERSION_CMD, val); in elan_i2c_get_sm_version()
325 dev_err(&client->dev, "failed to get SM version: %d\n", in elan_i2c_get_sm_version()
332 error = elan_i2c_read_cmd(client, ETP_I2C_NSM_VERSION_CMD, in elan_i2c_get_sm_version()
335 dev_err(&client->dev, "failed to get SM version: %d\n", in elan_i2c_get_sm_version()
345 static int elan_i2c_get_product_id(struct i2c_client *client, u16 *id) in elan_i2c_get_product_id() argument
350 error = elan_i2c_read_cmd(client, ETP_I2C_UNIQUEID_CMD, val); in elan_i2c_get_product_id()
352 dev_err(&client->dev, "failed to get product ID: %d\n", error); in elan_i2c_get_product_id()
360 static int elan_i2c_get_checksum(struct i2c_client *client, in elan_i2c_get_checksum() argument
366 error = elan_i2c_read_cmd(client, in elan_i2c_get_checksum()
371 dev_err(&client->dev, "failed to get %s checksum: %d\n", in elan_i2c_get_checksum()
380 static int elan_i2c_get_max(struct i2c_client *client, in elan_i2c_get_max() argument
386 error = elan_i2c_read_cmd(client, ETP_I2C_MAX_X_AXIS_CMD, val); in elan_i2c_get_max()
388 dev_err(&client->dev, "failed to get X dimension: %d\n", error); in elan_i2c_get_max()
394 error = elan_i2c_read_cmd(client, ETP_I2C_MAX_Y_AXIS_CMD, val); in elan_i2c_get_max()
396 dev_err(&client->dev, "failed to get Y dimension: %d\n", error); in elan_i2c_get_max()
405 static int elan_i2c_get_resolution(struct i2c_client *client, in elan_i2c_get_resolution() argument
411 error = elan_i2c_read_cmd(client, ETP_I2C_RESOLUTION_CMD, val); in elan_i2c_get_resolution()
413 dev_err(&client->dev, "failed to get resolution: %d\n", error); in elan_i2c_get_resolution()
423 static int elan_i2c_get_num_traces(struct i2c_client *client, in elan_i2c_get_num_traces() argument
430 error = elan_i2c_read_cmd(client, ETP_I2C_XY_TRACENUM_CMD, val); in elan_i2c_get_num_traces()
432 dev_err(&client->dev, "failed to get trace info: %d\n", error); in elan_i2c_get_num_traces()
442 static int elan_i2c_get_pressure_adjustment(struct i2c_client *client, in elan_i2c_get_pressure_adjustment() argument
448 error = elan_i2c_read_cmd(client, ETP_I2C_PRESSURE_CMD, val); in elan_i2c_get_pressure_adjustment()
450 dev_err(&client->dev, "failed to get pressure format: %d\n", in elan_i2c_get_pressure_adjustment()
463 static int elan_i2c_iap_get_mode(struct i2c_client *client, enum tp_mode *mode) in elan_i2c_iap_get_mode() argument
469 error = elan_i2c_read_cmd(client, ETP_I2C_IAP_CTRL_CMD, val); in elan_i2c_iap_get_mode()
471 dev_err(&client->dev, in elan_i2c_iap_get_mode()
478 dev_dbg(&client->dev, "iap control reg: 0x%04x.\n", constant); in elan_i2c_iap_get_mode()
485 static int elan_i2c_iap_reset(struct i2c_client *client) in elan_i2c_iap_reset() argument
489 error = elan_i2c_write_cmd(client, ETP_I2C_IAP_RESET_CMD, in elan_i2c_iap_reset()
492 dev_err(&client->dev, "cannot reset IC: %d\n", error); in elan_i2c_iap_reset()
499 static int elan_i2c_set_flash_key(struct i2c_client *client) in elan_i2c_set_flash_key() argument
503 error = elan_i2c_write_cmd(client, ETP_I2C_IAP_CMD, in elan_i2c_set_flash_key()
506 dev_err(&client->dev, "cannot set flash key: %d\n", error); in elan_i2c_set_flash_key()
513 static int elan_i2c_prepare_fw_update(struct i2c_client *client) in elan_i2c_prepare_fw_update() argument
515 struct device *dev = &client->dev; in elan_i2c_prepare_fw_update()
522 error = elan_i2c_iap_get_mode(client, &mode); in elan_i2c_prepare_fw_update()
528 error = elan_i2c_iap_reset(client); in elan_i2c_prepare_fw_update()
536 error = elan_i2c_set_flash_key(client); in elan_i2c_prepare_fw_update()
544 error = elan_i2c_iap_get_mode(client, &mode); in elan_i2c_prepare_fw_update()
554 error = elan_i2c_set_flash_key(client); in elan_i2c_prepare_fw_update()
562 error = elan_i2c_read_cmd(client, ETP_I2C_IAP_CMD, val); in elan_i2c_prepare_fw_update()
578 static int elan_i2c_write_fw_block(struct i2c_client *client, in elan_i2c_write_fw_block() argument
581 struct device *dev = &client->dev; in elan_i2c_write_fw_block()
593 ret = i2c_master_send(client, page_store, sizeof(page_store)); in elan_i2c_write_fw_block()
603 error = elan_i2c_read_cmd(client, ETP_I2C_IAP_CTRL_CMD, val); in elan_i2c_write_fw_block()
619 static int elan_i2c_finish_fw_update(struct i2c_client *client, in elan_i2c_finish_fw_update() argument
622 struct device *dev = &client->dev; in elan_i2c_finish_fw_update()
627 len = i2c_master_recv(client, buffer, ETP_I2C_REPORT_LEN); in elan_i2c_finish_fw_update()
635 enable_irq(client->irq); in elan_i2c_finish_fw_update()
637 error = elan_i2c_write_cmd(client, ETP_I2C_STAND_CMD, ETP_I2C_RESET); in elan_i2c_finish_fw_update()
646 disable_irq(client->irq); in elan_i2c_finish_fw_update()
651 len = i2c_master_recv(client, buffer, ETP_I2C_INF_LENGTH); in elan_i2c_finish_fw_update()
662 static int elan_i2c_get_report(struct i2c_client *client, u8 *report) in elan_i2c_get_report() argument
666 len = i2c_master_recv(client, report, ETP_I2C_REPORT_LEN); in elan_i2c_get_report()
668 dev_err(&client->dev, "failed to read report data: %d\n", len); in elan_i2c_get_report()
673 dev_err(&client->dev, in elan_i2c_get_report()