Lines Matching refs:data

109 	struct lm75_data *data = lm75_update_device(dev);  in lm75_read_temp()  local
111 if (IS_ERR(data)) in lm75_read_temp()
112 return PTR_ERR(data); in lm75_read_temp()
114 *temp = lm75_reg_to_mc(data->temp[0], data->resolution); in lm75_read_temp()
123 struct lm75_data *data = lm75_update_device(dev); in show_temp() local
125 if (IS_ERR(data)) in show_temp()
126 return PTR_ERR(data); in show_temp()
128 return sprintf(buf, "%ld\n", lm75_reg_to_mc(data->temp[attr->index], in show_temp()
129 data->resolution)); in show_temp()
136 struct lm75_data *data = dev_get_drvdata(dev); in set_temp() local
137 struct i2c_client *client = data->client; in set_temp()
151 if (attr->index && data->resolution_limits) in set_temp()
152 resolution = data->resolution_limits; in set_temp()
154 resolution = data->resolution; in set_temp()
156 mutex_lock(&data->update_lock); in set_temp()
158 data->temp[nr] = DIV_ROUND_CLOSEST(temp << (resolution - 8), in set_temp()
160 lm75_write_value(client, LM75_REG_TEMP[nr], data->temp[nr]); in set_temp()
161 mutex_unlock(&data->update_lock); in set_temp()
192 struct lm75_data *data; in lm75_probe() local
202 data = devm_kzalloc(dev, sizeof(struct lm75_data), GFP_KERNEL); in lm75_probe()
203 if (!data) in lm75_probe()
206 data->client = client; in lm75_probe()
207 i2c_set_clientdata(client, data); in lm75_probe()
208 mutex_init(&data->update_lock); in lm75_probe()
219 data->resolution = 12; in lm75_probe()
220 data->sample_time = HZ / 8; in lm75_probe()
227 data->resolution = 11; in lm75_probe()
228 data->sample_time = HZ; in lm75_probe()
232 data->resolution = 12; in lm75_probe()
233 data->sample_time = HZ / 4; in lm75_probe()
238 data->resolution = 9; in lm75_probe()
239 data->sample_time = HZ / 2; in lm75_probe()
242 data->resolution = 11; in lm75_probe()
243 data->sample_time = HZ / 4; in lm75_probe()
246 data->resolution = 9; in lm75_probe()
247 data->sample_time = HZ / 4; in lm75_probe()
250 data->resolution = 12; in lm75_probe()
251 data->resolution_limits = 9; in lm75_probe()
252 data->sample_time = HZ / 4; in lm75_probe()
255 data->resolution = 9; in lm75_probe()
256 data->sample_time = HZ / 8; in lm75_probe()
259 data->resolution_limits = 9; in lm75_probe()
264 data->resolution = 12; in lm75_probe()
265 data->sample_time = HZ; in lm75_probe()
271 data->resolution = 12; in lm75_probe()
272 data->sample_time = HZ / 4; in lm75_probe()
280 data->resolution = 12; in lm75_probe()
281 data->sample_time = HZ / 2; in lm75_probe()
291 data->orig_conf = status; in lm75_probe()
298 data->hwmon_dev = hwmon_device_register_with_groups(dev, client->name, in lm75_probe()
299 data, lm75_groups); in lm75_probe()
300 if (IS_ERR(data->hwmon_dev)) in lm75_probe()
301 return PTR_ERR(data->hwmon_dev); in lm75_probe()
303 data->tz = thermal_zone_of_sensor_register(data->hwmon_dev, 0, in lm75_probe()
304 data->hwmon_dev, in lm75_probe()
306 if (IS_ERR(data->tz)) in lm75_probe()
307 data->tz = NULL; in lm75_probe()
310 dev_name(data->hwmon_dev), client->name); in lm75_probe()
317 struct lm75_data *data = i2c_get_clientdata(client); in lm75_remove() local
319 thermal_zone_of_sensor_unregister(data->hwmon_dev, data->tz); in lm75_remove()
320 hwmon_device_unregister(data->hwmon_dev); in lm75_remove()
321 lm75_write_value(client, LM75_REG_CONF, data->orig_conf); in lm75_remove()
522 struct lm75_data *data = dev_get_drvdata(dev); in lm75_update_device() local
523 struct i2c_client *client = data->client; in lm75_update_device()
524 struct lm75_data *ret = data; in lm75_update_device()
526 mutex_lock(&data->update_lock); in lm75_update_device()
528 if (time_after(jiffies, data->last_updated + data->sample_time) in lm75_update_device()
529 || !data->valid) { in lm75_update_device()
533 for (i = 0; i < ARRAY_SIZE(data->temp); i++) { in lm75_update_device()
542 data->valid = 0; in lm75_update_device()
545 data->temp[i] = status; in lm75_update_device()
547 data->last_updated = jiffies; in lm75_update_device()
548 data->valid = 1; in lm75_update_device()
552 mutex_unlock(&data->update_lock); in lm75_update_device()