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)
210 static inline int lin11_to_val(int data)
212 s16 e = ((s16)data) >> 11;
213 s32 m = (((s16)(data << 5)) >> 5);
223 static int ltc_get_max(struct ltc2978_data *data, struct i2c_client *client,
237 static int ltc_get_min(struct ltc2978_data *data, struct i2c_client *client,
255 struct ltc2978_data *data = to_ltc2978_data(info);
260 ret = ltc_get_max(data, client, page, LTC2978_MFR_VIN_PEAK,
261 &data->vin_max);
271 if (ret > data->vout_max[page])
272 data->vout_max[page] = ret;
273 ret = data->vout_max[page];
277 ret = ltc_get_max(data, client, page,
279 &data->temp_max[page]);
300 struct ltc2978_data *data = to_ltc2978_data(info);
305 ret = ltc_get_min(data, client, page, LTC2978_MFR_VIN_MIN,
306 &data->vin_min);
318 if (data->vout_max[page] && ret > data->vout_max[page])
319 ret = data->vout_max[page];
320 if (ret < data->vout_min[page])
321 data->vout_min[page] = ret;
322 ret = data->vout_min[page];
326 ret = ltc_get_min(data, client, page,
328 &data->temp_min[page]);
347 struct ltc2978_data *data = to_ltc2978_data(info);
352 ret = ltc_get_max(data, client, page, LTC2974_MFR_IOUT_PEAK,
353 &data->iout_max[page]);
356 ret = ltc_get_min(data, client, page, LTC2974_MFR_IOUT_MIN,
357 &data->iout_min[page]);
373 struct ltc2978_data *data = to_ltc2978_data(info);
378 ret = ltc_get_max(data, client, page, LTC2975_MFR_IIN_PEAK,
379 &data->iin_max);
382 ret = ltc_get_min(data, client, page, LTC2975_MFR_IIN_MIN,
383 &data->iin_min);
386 ret = ltc_get_max(data, client, page, LTC2975_MFR_PIN_PEAK,
387 &data->pin_max);
390 ret = ltc_get_min(data, client, page, LTC2975_MFR_PIN_MIN,
391 &data->pin_min);
408 struct ltc2978_data *data = to_ltc2978_data(info);
413 ret = ltc_get_max(data, client, page, LTC3880_MFR_IOUT_PEAK,
414 &data->iout_max[page]);
417 ret = ltc_get_max(data, client, page,
419 &data->temp2_max);
441 struct ltc2978_data *data = to_ltc2978_data(info);
446 ret = ltc_get_max(data, client, page, LTC3883_MFR_IIN_PEAK,
447 &data->iin_max);
459 static int ltc2978_clear_peaks(struct ltc2978_data *data,
464 if (has_clear_peaks(data))
476 struct ltc2978_data *data = to_ltc2978_data(info);
481 data->iin_max = 0x7c00;
482 data->iin_min = 0x7bff;
483 ret = ltc2978_clear_peaks(data, client, 0);
486 data->pin_max = 0x7c00;
487 data->pin_min = 0x7bff;
488 ret = ltc2978_clear_peaks(data, client, 0);
491 data->iout_max[page] = 0x7c00;
492 data->iout_min[page] = 0xfbff;
493 ret = ltc2978_clear_peaks(data, client, page);
496 data->temp2_max = 0x7c00;
497 ret = ltc2978_clear_peaks(data, client, page);
500 data->vout_min[page] = 0xffff;
501 data->vout_max[page] = 0;
502 ret = ltc2978_clear_peaks(data, client, page);
505 data->vin_min = 0x7bff;
506 data->vin_max = 0x7c00;
507 ret = ltc2978_clear_peaks(data, client, page);
510 data->temp_min[page] = 0x7bff;
511 data->temp_max[page] = 0x7c00;
512 ret = ltc2978_clear_peaks(data, client, page);
655 struct ltc2978_data *data;
663 data = devm_kzalloc(&client->dev, sizeof(struct ltc2978_data),
665 if (!data)
672 data->id = chip_id;
674 if (data->id != id->driver_data)
681 info = &data->info;
687 data->vin_min = 0x7bff;
688 data->vin_max = 0x7c00;
689 for (i = 0; i < ARRAY_SIZE(data->vout_min); i++)
690 data->vout_min[i] = 0xffff;
691 for (i = 0; i < ARRAY_SIZE(data->iout_min); i++)
692 data->iout_min[i] = 0xfbff;
693 for (i = 0; i < ARRAY_SIZE(data->iout_max); i++)
694 data->iout_max[i] = 0x7c00;
695 for (i = 0; i < ARRAY_SIZE(data->temp_min); i++)
696 data->temp_min[i] = 0x7bff;
697 for (i = 0; i < ARRAY_SIZE(data->temp_max); i++)
698 data->temp_max[i] = 0x7c00;
699 data->temp2_max = 0x7c00;
701 switch (data->id) {
762 data->features |= FEAT_CLEAR_PEAKS | FEAT_NEEDS_POLLING;
777 data->features |= FEAT_CLEAR_PEAKS | FEAT_NEEDS_POLLING;
792 data->features |= FEAT_CLEAR_PEAKS | FEAT_NEEDS_POLLING;
810 data->features |= FEAT_CLEAR_PEAKS | FEAT_NEEDS_POLLING;