Lines Matching refs:client

138 static int ltc_wait_ready(struct i2c_client *client)
141 const struct pmbus_driver_info *info = pmbus_get_driver_info(client);
158 status = pmbus_read_byte_data(client, 0, LTC2978_MFR_COMMON);
176 static int ltc_read_word_data(struct i2c_client *client, int page, int phase,
181 ret = ltc_wait_ready(client);
185 return pmbus_read_word_data(client, page, 0xff, reg);
188 static int ltc_read_byte_data(struct i2c_client *client, int page, int reg)
192 ret = ltc_wait_ready(client);
196 return pmbus_read_byte_data(client, page, reg);
199 static int ltc_write_byte_data(struct i2c_client *client, int page, int reg, u8 value)
203 ret = ltc_wait_ready(client);
207 return pmbus_write_byte_data(client, page, reg, value);
210 static int ltc_write_byte(struct i2c_client *client, int page, u8 byte)
214 ret = ltc_wait_ready(client);
218 return pmbus_write_byte(client, page, byte);
234 static int ltc_get_max(struct ltc2978_data *data, struct i2c_client *client,
239 ret = ltc_read_word_data(client, page, 0xff, reg);
248 static int ltc_get_min(struct ltc2978_data *data, struct i2c_client *client,
253 ret = ltc_read_word_data(client, page, 0xff, reg);
262 static int ltc2978_read_word_data_common(struct i2c_client *client, int page,
265 const struct pmbus_driver_info *info = pmbus_get_driver_info(client);
271 ret = ltc_get_max(data, client, page, LTC2978_MFR_VIN_PEAK,
275 ret = ltc_read_word_data(client, page, 0xff,
288 ret = ltc_get_max(data, client, page,
298 ret = ltc_wait_ready(client);
307 static int ltc2978_read_word_data(struct i2c_client *client, int page,
310 const struct pmbus_driver_info *info = pmbus_get_driver_info(client);
316 ret = ltc_get_min(data, client, page, LTC2978_MFR_VIN_MIN,
320 ret = ltc_read_word_data(client, page, phase,
337 ret = ltc_get_min(data, client, page,
348 ret = ltc2978_read_word_data_common(client, page, reg);
354 static int ltc2974_read_word_data(struct i2c_client *client, int page,
357 const struct pmbus_driver_info *info = pmbus_get_driver_info(client);
363 ret = ltc_get_max(data, client, page, LTC2974_MFR_IOUT_PEAK,
367 ret = ltc_get_min(data, client, page, LTC2974_MFR_IOUT_MIN,
374 ret = ltc2978_read_word_data(client, page, phase, reg);
380 static int ltc2975_read_word_data(struct i2c_client *client, int page,
383 const struct pmbus_driver_info *info = pmbus_get_driver_info(client);
389 ret = ltc_get_max(data, client, page, LTC2975_MFR_IIN_PEAK,
393 ret = ltc_get_min(data, client, page, LTC2975_MFR_IIN_MIN,
397 ret = ltc_get_max(data, client, page, LTC2975_MFR_PIN_PEAK,
401 ret = ltc_get_min(data, client, page, LTC2975_MFR_PIN_MIN,
409 ret = ltc2978_read_word_data(client, page, phase, reg);
415 static int ltc3880_read_word_data(struct i2c_client *client, int page,
418 const struct pmbus_driver_info *info = pmbus_get_driver_info(client);
424 ret = ltc_get_max(data, client, page, LTC3880_MFR_IOUT_PEAK,
428 ret = ltc_get_max(data, client, page,
442 ret = ltc2978_read_word_data_common(client, page, reg);
448 static int ltc3883_read_word_data(struct i2c_client *client, int page,
451 const struct pmbus_driver_info *info = pmbus_get_driver_info(client);
457 ret = ltc_get_max(data, client, page, LTC3883_MFR_IIN_PEAK,
464 ret = ltc3880_read_word_data(client, page, phase, reg);
471 struct i2c_client *client, int page)
476 ret = ltc_write_byte(client, 0, LTC3880_MFR_CLEAR_PEAKS);
478 ret = ltc_write_byte(client, page, PMBUS_CLEAR_FAULTS);
483 static int ltc2978_write_word_data(struct i2c_client *client, int page,
486 const struct pmbus_driver_info *info = pmbus_get_driver_info(client);
494 ret = ltc2978_clear_peaks(data, client, 0);
499 ret = ltc2978_clear_peaks(data, client, 0);
504 ret = ltc2978_clear_peaks(data, client, page);
508 ret = ltc2978_clear_peaks(data, client, page);
513 ret = ltc2978_clear_peaks(data, client, page);
518 ret = ltc2978_clear_peaks(data, client, page);
523 ret = ltc2978_clear_peaks(data, client, page);
526 ret = ltc_wait_ready(client);
595 static int ltc2978_get_id(struct i2c_client *client)
599 chip_id = i2c_smbus_read_word_data(client, LTC2978_MFR_SPECIAL_ID);
605 if (!i2c_check_functionality(client->adapter,
609 ret = i2c_smbus_read_block_data(client, PMBUS_MFR_ID, buf);
615 ret = i2c_smbus_read_block_data(client, PMBUS_MFR_MODEL, buf);
679 dev_err(&client->dev, "Unsupported chip ID 0x%x\n", chip_id);
683 static int ltc2978_probe(struct i2c_client *client)
690 if (!i2c_check_functionality(client->adapter,
694 data = devm_kzalloc(&client->dev, sizeof(struct ltc2978_data),
699 chip_id = ltc2978_get_id(client);
704 id = i2c_match_id(ltc2978_id, client);
706 dev_warn(&client->dev,
874 dev_warn(&client->dev, "num_regulators too large!");
881 dev_warn(&client->dev, "num_regulators too large!");
889 return pmbus_do_probe(client, info);