Lines Matching +full:client +full:- +full:id

1 // SPDX-License-Identifier: GPL-2.0-or-later
45 int id; member
53 static int max34440_read_word_data(struct i2c_client *client, int page, in max34440_read_word_data() argument
57 const struct pmbus_driver_info *info = pmbus_get_driver_info(client); in max34440_read_word_data()
62 ret = pmbus_read_word_data(client, page, phase, in max34440_read_word_data()
66 ret = pmbus_read_word_data(client, page, phase, in max34440_read_word_data()
70 ret = pmbus_read_word_data(client, page, phase, in max34440_read_word_data()
74 ret = pmbus_read_word_data(client, page, phase, in max34440_read_word_data()
78 if (data->id != max34446 && data->id != max34451) in max34440_read_word_data()
79 return -ENXIO; in max34440_read_word_data()
80 ret = pmbus_read_word_data(client, page, phase, in max34440_read_word_data()
84 ret = pmbus_read_word_data(client, page, phase, in max34440_read_word_data()
88 if (data->id != max34446) in max34440_read_word_data()
89 return -ENXIO; in max34440_read_word_data()
90 ret = pmbus_read_word_data(client, page, phase, in max34440_read_word_data()
94 if (data->id != max34446) in max34440_read_word_data()
95 return -ENXIO; in max34440_read_word_data()
96 ret = pmbus_read_word_data(client, page, phase, in max34440_read_word_data()
100 if (data->id != max34446 && data->id != max34460 && in max34440_read_word_data()
101 data->id != max34461) in max34440_read_word_data()
102 return -ENXIO; in max34440_read_word_data()
103 ret = pmbus_read_word_data(client, page, phase, in max34440_read_word_data()
107 ret = pmbus_read_word_data(client, page, phase, in max34440_read_word_data()
111 if (data->id != max34446) in max34440_read_word_data()
112 return -ENXIO; in max34440_read_word_data()
121 ret = -ENODATA; in max34440_read_word_data()
127 static int max34440_write_word_data(struct i2c_client *client, int page, in max34440_write_word_data() argument
130 const struct pmbus_driver_info *info = pmbus_get_driver_info(client); in max34440_write_word_data()
136 ret = pmbus_write_word_data(client, page, MAX34440_IOUT_OC_FAULT_LIMIT, in max34440_write_word_data()
140 ret = pmbus_write_word_data(client, page, MAX34440_IOUT_OC_WARN_LIMIT, in max34440_write_word_data()
144 ret = pmbus_write_word_data(client, page, in max34440_write_word_data()
148 ret = pmbus_write_word_data(client, page, in max34440_write_word_data()
152 ret = pmbus_write_word_data(client, page, in max34440_write_word_data()
156 ret = pmbus_write_word_data(client, page, in max34440_write_word_data()
160 ret = pmbus_write_word_data(client, page, in max34440_write_word_data()
162 if (!ret && (data->id == max34446 || data->id == max34451)) in max34440_write_word_data()
163 ret = pmbus_write_word_data(client, page, in max34440_write_word_data()
168 ret = pmbus_write_word_data(client, page, in max34440_write_word_data()
171 if (!ret && data->id == max34446) in max34440_write_word_data()
172 ret = pmbus_write_word_data(client, page, in max34440_write_word_data()
176 ret = -ENODATA; in max34440_write_word_data()
182 static int max34440_read_byte_data(struct i2c_client *client, int page, int reg) in max34440_read_byte_data() argument
188 ret = pmbus_set_page(client, page, 0xff); in max34440_read_byte_data()
195 mfg_status = pmbus_read_word_data(client, 0, 0xff, in max34440_read_byte_data()
205 mfg_status = pmbus_read_word_data(client, 0, 0xff, in max34440_read_byte_data()
215 ret = -ENODATA; in max34440_read_byte_data()
221 static int max34451_set_supported_funcs(struct i2c_client *client, in max34451_set_supported_funcs() argument
225 * Each of the channel 0-15 can be configured to monitor the following in max34451_set_supported_funcs()
232 * 0x30: General-purpose input active low in max34451_set_supported_funcs()
233 * 0x34: General-purpose input active high in max34451_set_supported_funcs()
240 rv = i2c_smbus_write_byte_data(client, PMBUS_PAGE, page); in max34451_set_supported_funcs()
244 rv = i2c_smbus_read_word_data(client, in max34451_set_supported_funcs()
252 data->info.func[page] = PMBUS_HAVE_VOUT | in max34451_set_supported_funcs()
256 data->info.func[page] = PMBUS_HAVE_VOUT; in max34451_set_supported_funcs()
259 data->info.func[page] = PMBUS_HAVE_IOUT | in max34451_set_supported_funcs()
263 data->info.func[page] = PMBUS_HAVE_IOUT; in max34451_set_supported_funcs()
410 /* func 0-15 is set dynamically before probing */
486 static int max34440_probe(struct i2c_client *client) in max34440_probe() argument
491 data = devm_kzalloc(&client->dev, sizeof(struct max34440_data), in max34440_probe()
494 return -ENOMEM; in max34440_probe()
495 data->id = i2c_match_id(max34440_id, client)->driver_data; in max34440_probe()
496 data->info = max34440_info[data->id]; in max34440_probe()
498 if (data->id == max34451) { in max34440_probe()
499 rv = max34451_set_supported_funcs(client, data); in max34440_probe()
504 return pmbus_do_probe(client, &data->info); in max34440_probe()