Lines Matching refs:data

111  * LTC2978 clears peak data whenever the CLEAR_FAULTS command is executed, which
112 * happens pretty much each time chip data is updated. Raw peak data therefore
113 * does not provide much value. To be able to provide useful peak data, keep an
114 * internal cache of measured peak data, which is only cleared if an explicit
142 struct ltc2978_data *data = to_ltc2978_data(info);
146 if (!needs_polling(data))
154 if (data->id != ltc3883)
221 static inline int lin11_to_val(int data)
223 s16 e = ((s16)data) >> 11;
224 s32 m = (((s16)(data << 5)) >> 5);
234 static int ltc_get_max(struct ltc2978_data *data, struct i2c_client *client,
248 static int ltc_get_min(struct ltc2978_data *data, struct i2c_client *client,
266 struct ltc2978_data *data = to_ltc2978_data(info);
271 ret = ltc_get_max(data, client, page, LTC2978_MFR_VIN_PEAK,
272 &data->vin_max);
282 if (ret > data->vout_max[page])
283 data->vout_max[page] = ret;
284 ret = data->vout_max[page];
288 ret = ltc_get_max(data, client, page,
290 &data->temp_max[page]);
311 struct ltc2978_data *data = to_ltc2978_data(info);
316 ret = ltc_get_min(data, client, page, LTC2978_MFR_VIN_MIN,
317 &data->vin_min);
329 if (data->vout_max[page] && ret > data->vout_max[page])
330 ret = data->vout_max[page];
331 if (ret < data->vout_min[page])
332 data->vout_min[page] = ret;
333 ret = data->vout_min[page];
337 ret = ltc_get_min(data, client, page,
339 &data->temp_min[page]);
358 struct ltc2978_data *data = to_ltc2978_data(info);
363 ret = ltc_get_max(data, client, page, LTC2974_MFR_IOUT_PEAK,
364 &data->iout_max[page]);
367 ret = ltc_get_min(data, client, page, LTC2974_MFR_IOUT_MIN,
368 &data->iout_min[page]);
384 struct ltc2978_data *data = to_ltc2978_data(info);
389 ret = ltc_get_max(data, client, page, LTC2975_MFR_IIN_PEAK,
390 &data->iin_max);
393 ret = ltc_get_min(data, client, page, LTC2975_MFR_IIN_MIN,
394 &data->iin_min);
397 ret = ltc_get_max(data, client, page, LTC2975_MFR_PIN_PEAK,
398 &data->pin_max);
401 ret = ltc_get_min(data, client, page, LTC2975_MFR_PIN_MIN,
402 &data->pin_min);
419 struct ltc2978_data *data = to_ltc2978_data(info);
424 ret = ltc_get_max(data, client, page, LTC3880_MFR_IOUT_PEAK,
425 &data->iout_max[page]);
428 ret = ltc_get_max(data, client, page,
430 &data->temp2_max);
452 struct ltc2978_data *data = to_ltc2978_data(info);
457 ret = ltc_get_max(data, client, page, LTC3883_MFR_IIN_PEAK,
458 &data->iin_max);
470 static int ltc2978_clear_peaks(struct ltc2978_data *data,
475 if (has_clear_peaks(data))
487 struct ltc2978_data *data = to_ltc2978_data(info);
492 data->iin_max = 0x7c00;
493 data->iin_min = 0x7bff;
494 ret = ltc2978_clear_peaks(data, client, 0);
497 data->pin_max = 0x7c00;
498 data->pin_min = 0x7bff;
499 ret = ltc2978_clear_peaks(data, client, 0);
502 data->iout_max[page] = 0x7c00;
503 data->iout_min[page] = 0xfbff;
504 ret = ltc2978_clear_peaks(data, client, page);
507 data->temp2_max = 0x7c00;
508 ret = ltc2978_clear_peaks(data, client, page);
511 data->vout_min[page] = 0xffff;
512 data->vout_max[page] = 0;
513 ret = ltc2978_clear_peaks(data, client, page);
516 data->vin_min = 0x7bff;
517 data->vin_max = 0x7c00;
518 ret = ltc2978_clear_peaks(data, client, page);
521 data->temp_min[page] = 0x7bff;
522 data->temp_max[page] = 0x7c00;
523 ret = ltc2978_clear_peaks(data, client, page);
686 struct ltc2978_data *data;
694 data = devm_kzalloc(&client->dev, sizeof(struct ltc2978_data),
696 if (!data)
703 data->id = chip_id;
705 if (data->id != id->driver_data)
712 info = &data->info;
719 data->vin_min = 0x7bff;
720 data->vin_max = 0x7c00;
721 for (i = 0; i < ARRAY_SIZE(data->vout_min); i++)
722 data->vout_min[i] = 0xffff;
723 for (i = 0; i < ARRAY_SIZE(data->iout_min); i++)
724 data->iout_min[i] = 0xfbff;
725 for (i = 0; i < ARRAY_SIZE(data->iout_max); i++)
726 data->iout_max[i] = 0x7c00;
727 for (i = 0; i < ARRAY_SIZE(data->temp_min); i++)
728 data->temp_min[i] = 0x7bff;
729 for (i = 0; i < ARRAY_SIZE(data->temp_max); i++)
730 data->temp_max[i] = 0x7c00;
731 data->temp2_max = 0x7c00;
733 switch (data->id) {
794 data->features |= FEAT_CLEAR_PEAKS | FEAT_NEEDS_POLLING;
809 data->features |= FEAT_CLEAR_PEAKS | FEAT_NEEDS_POLLING;
824 data->features |= FEAT_CLEAR_PEAKS | FEAT_NEEDS_POLLING;
843 data->features |= FEAT_CLEAR_PEAKS | FEAT_NEEDS_POLLING;
863 switch (data->id) {