Lines Matching refs:data
38 * Map device tree / platform data register bit map to chip bit map.
184 struct max6697_data *data = dev_get_drvdata(dev);
185 struct i2c_client *client = data->client;
186 struct max6697_data *ret = data;
191 mutex_lock(&data->update_lock);
193 if (data->valid &&
194 !time_after(jiffies, data->last_updated
195 + msecs_to_jiffies(data->update_interval)))
198 for (i = 0; i < data->chip->channels; i++) {
199 if (data->chip->have_ext & (1 << i)) {
206 data->temp[i][MAX6697_TEMP_EXT] = val;
214 data->temp[i][MAX6697_TEMP_INPUT] = val;
221 data->temp[i][MAX6697_TEMP_MAX] = val;
223 if (data->chip->have_crit & (1 << i)) {
230 data->temp[i][MAX6697_TEMP_CRIT] = val;
243 data->alarms = alarms;
244 data->last_updated = jiffies;
245 data->valid = true;
247 mutex_unlock(&data->update_lock);
256 struct max6697_data *data = max6697_update_device(dev);
259 if (IS_ERR(data))
260 return PTR_ERR(data);
262 temp = (data->temp[index][MAX6697_TEMP_INPUT] - data->temp_offset) << 3;
263 temp |= data->temp[index][MAX6697_TEMP_EXT] >> 5;
273 struct max6697_data *data = max6697_update_device(dev);
276 if (IS_ERR(data))
277 return PTR_ERR(data);
279 temp = data->temp[nr][index];
280 temp -= data->temp_offset;
289 struct max6697_data *data = max6697_update_device(dev);
291 if (IS_ERR(data))
292 return PTR_ERR(data);
294 if (data->chip->alarm_map)
295 index = data->chip->alarm_map[index];
297 return sprintf(buf, "%u\n", (data->alarms >> index) & 0x1);
306 struct max6697_data *data = dev_get_drvdata(dev);
314 mutex_lock(&data->update_lock);
315 temp = DIV_ROUND_CLOSEST(temp, 1000) + data->temp_offset;
316 temp = clamp_val(temp, 0, data->type == max6581 ? 255 : 127);
317 data->temp[nr][index] = temp;
318 ret = i2c_smbus_write_byte_data(data->client,
322 mutex_unlock(&data->update_lock);
331 struct max6697_data *data;
336 data = dev_get_drvdata(dev);
341 mutex_lock(&data->update_lock);
342 select = i2c_smbus_read_byte_data(data->client, MAX6581_REG_OFFSET_SELECT);
353 ret = i2c_smbus_write_byte_data(data->client, MAX6581_REG_OFFSET_SELECT,
359 ret = i2c_smbus_write_byte_data(data->client, MAX6581_REG_OFFSET_SELECT,
364 ret = i2c_smbus_write_byte_data(data->client, MAX6581_REG_OFFSET, val);
368 mutex_unlock(&data->update_lock);
374 struct max6697_data *data;
378 data = dev_get_drvdata(dev);
379 mutex_lock(&data->update_lock);
380 select = i2c_smbus_read_byte_data(data->client, MAX6581_REG_OFFSET_SELECT);
384 ret = i2c_smbus_read_byte_data(data->client, MAX6581_REG_OFFSET);
387 mutex_unlock(&data->update_lock);
464 struct max6697_data *data = dev_get_drvdata(dev);
465 const struct max6697_chip_data *chip = data->chip;
478 if (data->type != max6581 || channel == 0)
594 static int max6697_init_chip(struct max6697_data *data,
599 const struct max6697_chip_data *chip = data->chip;
604 * Don't touch configuration if neither platform data nor OF
612 if (data->type == max6581) {
614 data->temp_offset = 64;
641 data->temp_offset = 64;
667 if (data->type == max6581) {
684 data->update_interval = factor * MAX6697_CONV_TIME;
694 struct max6697_data *data;
701 data = devm_kzalloc(dev, sizeof(struct max6697_data), GFP_KERNEL);
702 if (!data)
706 data->type = (enum chips)of_device_get_match_data(&client->dev);
708 data->type = i2c_match_id(max6697_id, client)->driver_data;
709 data->chip = &max6697_chip_data[data->type];
710 data->client = client;
711 mutex_init(&data->update_lock);
713 err = max6697_init_chip(data, client);
718 data,
741 .data = (void *)max6581
745 .data = (void *)max6602
749 .data = (void *)max6622
753 .data = (void *)max6636
757 .data = (void *)max6689
761 .data = (void *)max6693
765 .data = (void *)max6694
769 .data = (void *)max6697
773 .data = (void *)max6698
777 .data = (void *)max6699