Lines Matching refs:data

37  * Map device tree / platform data register bit map to chip bit map.
183 struct max6697_data *data = dev_get_drvdata(dev);
184 struct i2c_client *client = data->client;
185 struct max6697_data *ret = data;
190 mutex_lock(&data->update_lock);
192 if (data->valid &&
193 !time_after(jiffies, data->last_updated
194 + msecs_to_jiffies(data->update_interval)))
197 for (i = 0; i < data->chip->channels; i++) {
198 if (data->chip->have_ext & (1 << i)) {
205 data->temp[i][MAX6697_TEMP_EXT] = val;
213 data->temp[i][MAX6697_TEMP_INPUT] = val;
220 data->temp[i][MAX6697_TEMP_MAX] = val;
222 if (data->chip->have_crit & (1 << i)) {
229 data->temp[i][MAX6697_TEMP_CRIT] = val;
242 data->alarms = alarms;
243 data->last_updated = jiffies;
244 data->valid = true;
246 mutex_unlock(&data->update_lock);
255 struct max6697_data *data = max6697_update_device(dev);
258 if (IS_ERR(data))
259 return PTR_ERR(data);
261 temp = (data->temp[index][MAX6697_TEMP_INPUT] - data->temp_offset) << 3;
262 temp |= data->temp[index][MAX6697_TEMP_EXT] >> 5;
272 struct max6697_data *data = max6697_update_device(dev);
275 if (IS_ERR(data))
276 return PTR_ERR(data);
278 temp = data->temp[nr][index];
279 temp -= data->temp_offset;
288 struct max6697_data *data = max6697_update_device(dev);
290 if (IS_ERR(data))
291 return PTR_ERR(data);
293 if (data->chip->alarm_map)
294 index = data->chip->alarm_map[index];
296 return sprintf(buf, "%u\n", (data->alarms >> index) & 0x1);
305 struct max6697_data *data = dev_get_drvdata(dev);
313 mutex_lock(&data->update_lock);
314 temp = DIV_ROUND_CLOSEST(temp, 1000) + data->temp_offset;
315 temp = clamp_val(temp, 0, data->type == max6581 ? 255 : 127);
316 data->temp[nr][index] = temp;
317 ret = i2c_smbus_write_byte_data(data->client,
321 mutex_unlock(&data->update_lock);
330 struct max6697_data *data;
335 data = dev_get_drvdata(dev);
340 mutex_lock(&data->update_lock);
341 select = i2c_smbus_read_byte_data(data->client, MAX6581_REG_OFFSET_SELECT);
352 ret = i2c_smbus_write_byte_data(data->client, MAX6581_REG_OFFSET_SELECT,
358 ret = i2c_smbus_write_byte_data(data->client, MAX6581_REG_OFFSET_SELECT,
363 ret = i2c_smbus_write_byte_data(data->client, MAX6581_REG_OFFSET, val);
367 mutex_unlock(&data->update_lock);
373 struct max6697_data *data;
377 data = dev_get_drvdata(dev);
378 mutex_lock(&data->update_lock);
379 select = i2c_smbus_read_byte_data(data->client, MAX6581_REG_OFFSET_SELECT);
383 ret = i2c_smbus_read_byte_data(data->client, MAX6581_REG_OFFSET);
386 mutex_unlock(&data->update_lock);
463 struct max6697_data *data = dev_get_drvdata(dev);
464 const struct max6697_chip_data *chip = data->chip;
477 if (data->type != max6581 || channel == 0)
593 static int max6697_init_chip(struct max6697_data *data,
598 const struct max6697_chip_data *chip = data->chip;
603 * Don't touch configuration if neither platform data nor OF
611 if (data->type == max6581) {
613 data->temp_offset = 64;
640 data->temp_offset = 64;
666 if (data->type == max6581) {
683 data->update_interval = factor * MAX6697_CONV_TIME;
693 struct max6697_data *data;
700 data = devm_kzalloc(dev, sizeof(struct max6697_data), GFP_KERNEL);
701 if (!data)
705 data->type = (uintptr_t)of_device_get_match_data(&client->dev);
707 data->type = i2c_match_id(max6697_id, client)->driver_data;
708 data->chip = &max6697_chip_data[data->type];
709 data->client = client;
710 mutex_init(&data->update_lock);
712 err = max6697_init_chip(data, client);
717 data,
740 .data = (void *)max6581
744 .data = (void *)max6602
748 .data = (void *)max6622
752 .data = (void *)max6636
756 .data = (void *)max6689
760 .data = (void *)max6693
764 .data = (void *)max6694
768 .data = (void *)max6697
772 .data = (void *)max6698
776 .data = (void *)max6699