Lines Matching refs:data
110 struct lm75_data *data = lm75_update_device(dev); in lm75_read_temp() local
112 if (IS_ERR(data)) in lm75_read_temp()
113 return PTR_ERR(data); in lm75_read_temp()
115 *temp = lm75_reg_to_mc(data->temp[0], data->resolution); in lm75_read_temp()
124 struct lm75_data *data = lm75_update_device(dev); in show_temp() local
126 if (IS_ERR(data)) in show_temp()
127 return PTR_ERR(data); in show_temp()
129 return sprintf(buf, "%ld\n", lm75_reg_to_mc(data->temp[attr->index], in show_temp()
130 data->resolution)); in show_temp()
137 struct lm75_data *data = dev_get_drvdata(dev); in set_temp() local
138 struct i2c_client *client = data->client; in set_temp()
152 if (attr->index && data->resolution_limits) in set_temp()
153 resolution = data->resolution_limits; in set_temp()
155 resolution = data->resolution; in set_temp()
157 mutex_lock(&data->update_lock); in set_temp()
159 data->temp[nr] = DIV_ROUND_CLOSEST(temp << (resolution - 8), in set_temp()
161 lm75_write_value(client, LM75_REG_TEMP[nr], data->temp[nr]); in set_temp()
162 mutex_unlock(&data->update_lock); in set_temp()
193 struct lm75_data *data; in lm75_probe() local
203 data = devm_kzalloc(dev, sizeof(struct lm75_data), GFP_KERNEL); in lm75_probe()
204 if (!data) in lm75_probe()
207 data->client = client; in lm75_probe()
208 i2c_set_clientdata(client, data); in lm75_probe()
209 mutex_init(&data->update_lock); in lm75_probe()
220 data->resolution = 12; in lm75_probe()
221 data->sample_time = HZ / 8; in lm75_probe()
228 data->resolution = 11; in lm75_probe()
229 data->sample_time = HZ; in lm75_probe()
233 data->resolution = 12; in lm75_probe()
234 data->sample_time = HZ / 4; in lm75_probe()
239 data->resolution = 9; in lm75_probe()
240 data->sample_time = HZ / 2; in lm75_probe()
243 data->resolution = 11; in lm75_probe()
244 data->sample_time = HZ / 4; in lm75_probe()
247 data->resolution = 9; in lm75_probe()
248 data->sample_time = HZ / 4; in lm75_probe()
251 data->resolution = 12; in lm75_probe()
252 data->resolution_limits = 9; in lm75_probe()
253 data->sample_time = HZ / 4; in lm75_probe()
256 data->resolution = 9; in lm75_probe()
257 data->sample_time = HZ / 8; in lm75_probe()
260 data->resolution_limits = 9; in lm75_probe()
265 data->resolution = 12; in lm75_probe()
266 data->sample_time = HZ; in lm75_probe()
272 data->resolution = 12; in lm75_probe()
273 data->sample_time = HZ / 4; in lm75_probe()
281 data->resolution = 12; in lm75_probe()
282 data->sample_time = HZ / 2; in lm75_probe()
286 data->resolution = 12; in lm75_probe()
287 data->sample_time = HZ / 4; in lm75_probe()
297 data->orig_conf = status; in lm75_probe()
304 data->hwmon_dev = hwmon_device_register_with_groups(dev, client->name, in lm75_probe()
305 data, lm75_groups); in lm75_probe()
306 if (IS_ERR(data->hwmon_dev)) in lm75_probe()
307 return PTR_ERR(data->hwmon_dev); in lm75_probe()
309 data->tz = thermal_zone_of_sensor_register(data->hwmon_dev, 0, in lm75_probe()
310 data->hwmon_dev, in lm75_probe()
312 if (IS_ERR(data->tz)) in lm75_probe()
313 data->tz = NULL; in lm75_probe()
316 dev_name(data->hwmon_dev), client->name); in lm75_probe()
323 struct lm75_data *data = i2c_get_clientdata(client); in lm75_remove() local
325 thermal_zone_of_sensor_unregister(data->hwmon_dev, data->tz); in lm75_remove()
326 hwmon_device_unregister(data->hwmon_dev); in lm75_remove()
327 lm75_write_value(client, LM75_REG_CONF, data->orig_conf); in lm75_remove()
529 struct lm75_data *data = dev_get_drvdata(dev); in lm75_update_device() local
530 struct i2c_client *client = data->client; in lm75_update_device()
531 struct lm75_data *ret = data; in lm75_update_device()
533 mutex_lock(&data->update_lock); in lm75_update_device()
535 if (time_after(jiffies, data->last_updated + data->sample_time) in lm75_update_device()
536 || !data->valid) { in lm75_update_device()
540 for (i = 0; i < ARRAY_SIZE(data->temp); i++) { in lm75_update_device()
549 data->valid = 0; in lm75_update_device()
552 data->temp[i] = status; in lm75_update_device()
554 data->last_updated = jiffies; in lm75_update_device()
555 data->valid = 1; in lm75_update_device()
559 mutex_unlock(&data->update_lock); in lm75_update_device()