Lines Matching refs:client
123 static int ltc_wait_ready(struct i2c_client *client) in ltc_wait_ready() argument
126 const struct pmbus_driver_info *info = pmbus_get_driver_info(client); in ltc_wait_ready()
143 status = pmbus_read_byte_data(client, 0, LTC2978_MFR_COMMON); in ltc_wait_ready()
161 static int ltc_read_word_data(struct i2c_client *client, int page, int reg) in ltc_read_word_data() argument
165 ret = ltc_wait_ready(client); in ltc_read_word_data()
169 return pmbus_read_word_data(client, page, reg); in ltc_read_word_data()
172 static int ltc_read_byte_data(struct i2c_client *client, int page, int reg) in ltc_read_byte_data() argument
176 ret = ltc_wait_ready(client); in ltc_read_byte_data()
180 return pmbus_read_byte_data(client, page, reg); in ltc_read_byte_data()
183 static int ltc_write_byte(struct i2c_client *client, int page, u8 byte) in ltc_write_byte() argument
187 ret = ltc_wait_ready(client); in ltc_write_byte()
191 return pmbus_write_byte(client, page, byte); in ltc_write_byte()
207 static int ltc_get_max(struct ltc2978_data *data, struct i2c_client *client, in ltc_get_max() argument
212 ret = ltc_read_word_data(client, page, reg); in ltc_get_max()
221 static int ltc_get_min(struct ltc2978_data *data, struct i2c_client *client, in ltc_get_min() argument
226 ret = ltc_read_word_data(client, page, reg); in ltc_get_min()
235 static int ltc2978_read_word_data_common(struct i2c_client *client, int page, in ltc2978_read_word_data_common() argument
238 const struct pmbus_driver_info *info = pmbus_get_driver_info(client); in ltc2978_read_word_data_common()
244 ret = ltc_get_max(data, client, page, LTC2978_MFR_VIN_PEAK, in ltc2978_read_word_data_common()
248 ret = ltc_read_word_data(client, page, LTC2978_MFR_VOUT_PEAK); in ltc2978_read_word_data_common()
260 ret = ltc_get_max(data, client, page, in ltc2978_read_word_data_common()
270 ret = ltc_wait_ready(client); in ltc2978_read_word_data_common()
279 static int ltc2978_read_word_data(struct i2c_client *client, int page, int reg) in ltc2978_read_word_data() argument
281 const struct pmbus_driver_info *info = pmbus_get_driver_info(client); in ltc2978_read_word_data()
287 ret = ltc_get_min(data, client, page, LTC2978_MFR_VIN_MIN, in ltc2978_read_word_data()
291 ret = ltc_read_word_data(client, page, LTC2978_MFR_VOUT_MIN); in ltc2978_read_word_data()
307 ret = ltc_get_min(data, client, page, in ltc2978_read_word_data()
318 ret = ltc2978_read_word_data_common(client, page, reg); in ltc2978_read_word_data()
324 static int ltc2974_read_word_data(struct i2c_client *client, int page, int reg) in ltc2974_read_word_data() argument
326 const struct pmbus_driver_info *info = pmbus_get_driver_info(client); in ltc2974_read_word_data()
332 ret = ltc_get_max(data, client, page, LTC2974_MFR_IOUT_PEAK, in ltc2974_read_word_data()
336 ret = ltc_get_min(data, client, page, LTC2974_MFR_IOUT_MIN, in ltc2974_read_word_data()
343 ret = ltc2978_read_word_data(client, page, reg); in ltc2974_read_word_data()
349 static int ltc2975_read_word_data(struct i2c_client *client, int page, int reg) in ltc2975_read_word_data() argument
351 const struct pmbus_driver_info *info = pmbus_get_driver_info(client); in ltc2975_read_word_data()
357 ret = ltc_get_max(data, client, page, LTC2975_MFR_IIN_PEAK, in ltc2975_read_word_data()
361 ret = ltc_get_min(data, client, page, LTC2975_MFR_IIN_MIN, in ltc2975_read_word_data()
365 ret = ltc_get_max(data, client, page, LTC2975_MFR_PIN_PEAK, in ltc2975_read_word_data()
369 ret = ltc_get_min(data, client, page, LTC2975_MFR_PIN_MIN, in ltc2975_read_word_data()
377 ret = ltc2978_read_word_data(client, page, reg); in ltc2975_read_word_data()
383 static int ltc3880_read_word_data(struct i2c_client *client, int page, int reg) in ltc3880_read_word_data() argument
385 const struct pmbus_driver_info *info = pmbus_get_driver_info(client); in ltc3880_read_word_data()
391 ret = ltc_get_max(data, client, page, LTC3880_MFR_IOUT_PEAK, in ltc3880_read_word_data()
395 ret = ltc_get_max(data, client, page, in ltc3880_read_word_data()
409 ret = ltc2978_read_word_data_common(client, page, reg); in ltc3880_read_word_data()
415 static int ltc3883_read_word_data(struct i2c_client *client, int page, int reg) in ltc3883_read_word_data() argument
417 const struct pmbus_driver_info *info = pmbus_get_driver_info(client); in ltc3883_read_word_data()
423 ret = ltc_get_max(data, client, page, LTC3883_MFR_IIN_PEAK, in ltc3883_read_word_data()
430 ret = ltc3880_read_word_data(client, page, reg); in ltc3883_read_word_data()
437 struct i2c_client *client, int page) in ltc2978_clear_peaks() argument
442 ret = ltc_write_byte(client, 0, LTC3880_MFR_CLEAR_PEAKS); in ltc2978_clear_peaks()
444 ret = ltc_write_byte(client, page, PMBUS_CLEAR_FAULTS); in ltc2978_clear_peaks()
449 static int ltc2978_write_word_data(struct i2c_client *client, int page, in ltc2978_write_word_data() argument
452 const struct pmbus_driver_info *info = pmbus_get_driver_info(client); in ltc2978_write_word_data()
460 ret = ltc2978_clear_peaks(data, client, 0); in ltc2978_write_word_data()
465 ret = ltc2978_clear_peaks(data, client, 0); in ltc2978_write_word_data()
470 ret = ltc2978_clear_peaks(data, client, page); in ltc2978_write_word_data()
474 ret = ltc2978_clear_peaks(data, client, page); in ltc2978_write_word_data()
479 ret = ltc2978_clear_peaks(data, client, page); in ltc2978_write_word_data()
484 ret = ltc2978_clear_peaks(data, client, page); in ltc2978_write_word_data()
489 ret = ltc2978_clear_peaks(data, client, page); in ltc2978_write_word_data()
492 ret = ltc_wait_ready(client); in ltc2978_write_word_data()
532 static int ltc2978_get_id(struct i2c_client *client) in ltc2978_get_id() argument
536 chip_id = i2c_smbus_read_word_data(client, LTC2978_MFR_SPECIAL_ID); in ltc2978_get_id()
542 if (!i2c_check_functionality(client->adapter, in ltc2978_get_id()
546 ret = i2c_smbus_read_block_data(client, PMBUS_MFR_ID, buf); in ltc2978_get_id()
552 ret = i2c_smbus_read_block_data(client, PMBUS_MFR_MODEL, buf); in ltc2978_get_id()
592 dev_err(&client->dev, "Unsupported chip ID 0x%x\n", chip_id); in ltc2978_get_id()
596 static int ltc2978_probe(struct i2c_client *client, in ltc2978_probe() argument
603 if (!i2c_check_functionality(client->adapter, in ltc2978_probe()
607 data = devm_kzalloc(&client->dev, sizeof(struct ltc2978_data), in ltc2978_probe()
612 chip_id = ltc2978_get_id(client); in ltc2978_probe()
618 dev_warn(&client->dev, in ltc2978_probe()
750 dev_err(&client->dev, "num_regulators too large!"); in ltc2978_probe()
755 return pmbus_do_probe(client, id, info); in ltc2978_probe()