Lines Matching refs:data

145 	struct max16065_data *data = dev_get_drvdata(dev);
146 struct i2c_client *client = data->client;
148 mutex_lock(&data->update_lock);
149 if (time_after(jiffies, data->last_updated + HZ) || !data->valid) {
152 for (i = 0; i < data->num_adc; i++)
153 data->adc[i]
156 if (data->have_current) {
157 data->adc[MAX16065_NUM_ADC]
159 data->curr_sense
164 for (i = 0; i < DIV_ROUND_UP(data->num_adc, 8); i++)
165 data->fault[i]
168 data->last_updated = jiffies;
169 data->valid = 1;
171 mutex_unlock(&data->update_lock);
172 return data;
179 struct max16065_data *data = max16065_update_device(dev);
180 int val = data->fault[attr2->nr];
187 i2c_smbus_write_byte_data(data->client,
197 struct max16065_data *data = max16065_update_device(dev);
198 int adc = data->adc[attr->index];
204 ADC_TO_MV(adc, data->range[attr->index]));
210 struct max16065_data *data = max16065_update_device(dev);
212 if (unlikely(data->curr_sense < 0))
213 return data->curr_sense;
216 ADC_TO_CURR(data->curr_sense, data->curr_gain));
224 struct max16065_data *data = dev_get_drvdata(dev);
233 limit = MV_TO_LIMIT(val, data->range[attr2->index]);
235 mutex_lock(&data->update_lock);
236 data->limit[attr2->nr][attr2->index]
237 = LIMIT_TO_MV(limit, data->range[attr2->index]);
238 i2c_smbus_write_byte_data(data->client,
241 mutex_unlock(&data->update_lock);
250 struct max16065_data *data = dev_get_drvdata(dev);
253 data->limit[attr2->nr][attr2->index]);
458 struct max16065_data *data = dev_get_drvdata(dev);
461 if (index >= data->num_adc || !data->range[index])
470 struct max16065_data *data = dev_get_drvdata(dev);
472 if (index >= data->num_adc)
501 struct max16065_data *data;
514 data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL);
515 if (unlikely(!data))
518 data->client = client;
519 mutex_init(&data->update_lock);
521 data->num_adc = max16065_num_adc[id->driver_data];
522 data->have_current = max16065_have_current[id->driver_data];
533 for (i = 0; i < DIV_ROUND_UP(data->num_adc, 4); i++) {
537 for (j = 0; j < 4 && i * 4 + j < data->num_adc; j++) {
538 data->range[i * 4 + j] =
548 for (j = 0; j < data->num_adc; j++) {
553 data->limit[i][j] = LIMIT_TO_MV(val, data->range[j]);
558 data->groups[groups++] = &max16065_basic_group;
560 data->groups[groups++] = secondary_is_max ?
563 if (data->have_current) {
572 data->curr_gain = 6 << ((val >> 2) & 0x03);
573 data->range[MAX16065_NUM_ADC]
575 data->groups[groups++] = &max16065_current_group;
577 data->have_current = false;
582 data, data->groups);