Lines Matching refs:data
53 /* Client data (each client gets its own) */
113 static int lm95234_fill_cache(struct lm95234_data *data,
122 data->interval = msecs_to_jiffies(update_intervals[ret & 0x03]);
124 for (i = 0; i < ARRAY_SIZE(data->tcrit1); i++) {
128 data->tcrit1[i] = ret;
130 for (i = 0; i < ARRAY_SIZE(data->tcrit2); i++) {
134 data->tcrit2[i] = ret;
136 for (i = 0; i < ARRAY_SIZE(data->toffset); i++) {
140 data->toffset[i] = ret;
146 data->thyst = ret;
151 data->sensor_type = ret;
156 static int lm95234_update_device(struct lm95234_data *data)
158 struct i2c_client *client = data->client;
161 mutex_lock(&data->update_lock);
163 if (time_after(jiffies, data->last_updated + data->interval) ||
164 !data->valid) {
167 if (!data->valid) {
168 ret = lm95234_fill_cache(data, client);
173 data->valid = false;
174 for (i = 0; i < ARRAY_SIZE(data->temp); i++) {
175 ret = lm95234_read_temp(client, i, &data->temp[i]);
183 data->status = ret;
188 data->status |= ret << 8;
193 data->status |= ret << 16;
195 data->last_updated = jiffies;
196 data->valid = true;
200 mutex_unlock(&data->update_lock);
208 struct lm95234_data *data = dev_get_drvdata(dev);
210 int ret = lm95234_update_device(data);
216 DIV_ROUND_CLOSEST(data->temp[index] * 125, 32));
222 struct lm95234_data *data = dev_get_drvdata(dev);
224 int ret = lm95234_update_device(data);
229 return sprintf(buf, "%u", !!(data->status & mask));
235 struct lm95234_data *data = dev_get_drvdata(dev);
237 int ret = lm95234_update_device(data);
242 return sprintf(buf, data->sensor_type & mask ? "1\n" : "2\n");
248 struct lm95234_data *data = dev_get_drvdata(dev);
251 int ret = lm95234_update_device(data);
263 mutex_lock(&data->update_lock);
265 data->sensor_type |= mask;
267 data->sensor_type &= ~mask;
268 data->valid = false;
269 i2c_smbus_write_byte_data(data->client, LM95234_REG_REM_MODEL,
270 data->sensor_type);
271 mutex_unlock(&data->update_lock);
279 struct lm95234_data *data = dev_get_drvdata(dev);
281 int ret = lm95234_update_device(data);
286 return sprintf(buf, "%u", data->tcrit2[index] * 1000);
292 struct lm95234_data *data = dev_get_drvdata(dev);
295 int ret = lm95234_update_device(data);
306 mutex_lock(&data->update_lock);
307 data->tcrit2[index] = val;
308 i2c_smbus_write_byte_data(data->client, LM95234_REG_TCRIT2(index), val);
309 mutex_unlock(&data->update_lock);
317 struct lm95234_data *data = dev_get_drvdata(dev);
319 int ret = lm95234_update_device(data);
326 ((int)data->tcrit2[index] - (int)data->thyst) * 1000);
332 struct lm95234_data *data = dev_get_drvdata(dev);
335 return sprintf(buf, "%u", data->tcrit1[index] * 1000);
341 struct lm95234_data *data = dev_get_drvdata(dev);
343 int ret = lm95234_update_device(data);
355 mutex_lock(&data->update_lock);
356 data->tcrit1[index] = val;
357 i2c_smbus_write_byte_data(data->client, LM95234_REG_TCRIT1(index), val);
358 mutex_unlock(&data->update_lock);
366 struct lm95234_data *data = dev_get_drvdata(dev);
368 int ret = lm95234_update_device(data);
375 ((int)data->tcrit1[index] - (int)data->thyst) * 1000);
382 struct lm95234_data *data = dev_get_drvdata(dev);
384 int ret = lm95234_update_device(data);
395 val = clamp_val((int)data->tcrit1[index] - val, 0, 31);
397 mutex_lock(&data->update_lock);
398 data->thyst = val;
399 i2c_smbus_write_byte_data(data->client, LM95234_REG_TCRIT_HYST, val);
400 mutex_unlock(&data->update_lock);
408 struct lm95234_data *data = dev_get_drvdata(dev);
410 int ret = lm95234_update_device(data);
415 return sprintf(buf, "%d", data->toffset[index] * 500);
421 struct lm95234_data *data = dev_get_drvdata(dev);
423 int ret = lm95234_update_device(data);
436 mutex_lock(&data->update_lock);
437 data->toffset[index] = val;
438 i2c_smbus_write_byte_data(data->client, LM95234_REG_OFFSET(index), val);
439 mutex_unlock(&data->update_lock);
447 struct lm95234_data *data = dev_get_drvdata(dev);
448 int ret = lm95234_update_device(data);
454 DIV_ROUND_CLOSEST(data->interval * 1000, HZ));
461 struct lm95234_data *data = dev_get_drvdata(dev);
462 int ret = lm95234_update_device(data);
478 mutex_lock(&data->update_lock);
479 data->interval = msecs_to_jiffies(update_intervals[regval]);
480 i2c_smbus_write_byte_data(data->client, LM95234_REG_CONVRATE, regval);
481 mutex_unlock(&data->update_lock);
685 struct lm95234_data *data;
689 data = devm_kzalloc(dev, sizeof(struct lm95234_data), GFP_KERNEL);
690 if (!data)
693 data->client = client;
694 mutex_init(&data->update_lock);
701 data->groups[0] = &lm95234_common_group;
703 data->groups[1] = &lm95234_group;
706 data, data->groups);
710 /* Driver data (common to all clients) */