Lines Matching refs:data
125 struct emc2103_data *data = i2c_get_clientdata(client);
131 data->fan_multiplier = 1 << ((conf1 & 0x60) >> 5);
132 data->fan_rpm_control = (conf1 & 0x80) != 0;
137 struct emc2103_data *data = dev_get_drvdata(dev);
138 struct i2c_client *client = data->client;
140 mutex_lock(&data->update_lock);
142 if (time_after(jiffies, data->last_updated + HZ + HZ / 2)
143 || !data->valid) {
146 for (i = 0; i < data->temp_count; i++) {
147 read_temp_from_i2c(client, REG_TEMP[i], &data->temp[i]);
149 &data->temp_min[i]);
151 &data->temp_max[i]);
155 &data->temp_min_alarm);
157 &data->temp_max_alarm);
159 read_fan_from_i2c(client, &data->fan_tach,
161 read_fan_from_i2c(client, &data->fan_target,
165 data->last_updated = jiffies;
166 data->valid = true;
169 mutex_unlock(&data->update_lock);
171 return data;
178 struct emc2103_data *data = emc2103_update_device(dev);
179 int millidegrees = data->temp[nr].degrees * 1000
180 + data->temp[nr].fraction * 125;
188 struct emc2103_data *data = emc2103_update_device(dev);
189 int millidegrees = data->temp_min[nr] * 1000;
197 struct emc2103_data *data = emc2103_update_device(dev);
198 int millidegrees = data->temp_max[nr] * 1000;
206 struct emc2103_data *data = emc2103_update_device(dev);
207 bool fault = (data->temp[nr].degrees == -128);
216 struct emc2103_data *data = emc2103_update_device(dev);
217 bool alarm = data->temp_min_alarm & (1 << nr);
226 struct emc2103_data *data = emc2103_update_device(dev);
227 bool alarm = data->temp_max_alarm & (1 << nr);
235 struct emc2103_data *data = dev_get_drvdata(dev);
236 struct i2c_client *client = data->client;
245 mutex_lock(&data->update_lock);
246 data->temp_min[nr] = val;
248 mutex_unlock(&data->update_lock);
257 struct emc2103_data *data = dev_get_drvdata(dev);
258 struct i2c_client *client = data->client;
267 mutex_lock(&data->update_lock);
268 data->temp_max[nr] = val;
270 mutex_unlock(&data->update_lock);
278 struct emc2103_data *data = emc2103_update_device(dev);
280 if (data->fan_tach != 0)
281 rpm = (FAN_RPM_FACTOR * data->fan_multiplier) / data->fan_tach;
288 struct emc2103_data *data = emc2103_update_device(dev);
289 int fan_div = 8 / data->fan_multiplier;
302 struct emc2103_data *data = emc2103_update_device(dev);
303 struct i2c_client *client = data->client;
304 int new_range_bits, old_div = 8 / data->fan_multiplier;
331 mutex_lock(&data->update_lock);
337 mutex_unlock(&data->update_lock);
344 data->fan_multiplier = 8 / new_div;
347 if ((data->fan_target & 0x1fe0) != 0x1fe0) {
348 u16 new_target = (data->fan_target * old_div) / new_div;
349 data->fan_target = min(new_target, (u16)0x1fff);
350 write_fan_target_to_i2c(client, data->fan_target);
353 /* invalidate data to force re-read from hardware */
354 data->valid = false;
356 mutex_unlock(&data->update_lock);
363 struct emc2103_data *data = emc2103_update_device(dev);
367 if ((data->fan_target != 0) && ((data->fan_target & 0x1fe0) != 0x1fe0))
368 rpm = (FAN_RPM_FACTOR * data->fan_multiplier)
369 / data->fan_target;
378 struct emc2103_data *data = emc2103_update_device(dev);
379 struct i2c_client *client = data->client;
389 mutex_lock(&data->update_lock);
392 data->fan_target = 0x1fff;
394 data->fan_target = clamp_val(
395 (FAN_RPM_FACTOR * data->fan_multiplier) / rpm_target,
398 write_fan_target_to_i2c(client, data->fan_target);
400 mutex_unlock(&data->update_lock);
407 struct emc2103_data *data = emc2103_update_device(dev);
408 bool fault = ((data->fan_tach & 0x1fe0) == 0x1fe0);
415 struct emc2103_data *data = emc2103_update_device(dev);
416 return sprintf(buf, "%d\n", data->fan_rpm_control ? 3 : 0);
423 struct emc2103_data *data = dev_get_drvdata(dev);
424 struct i2c_client *client = data->client;
432 mutex_lock(&data->update_lock);
435 data->fan_rpm_control = false;
438 data->fan_rpm_control = true;
451 if (data->fan_rpm_control)
458 mutex_unlock(&data->update_lock);
556 struct emc2103_data *data;
563 data = devm_kzalloc(&client->dev, sizeof(struct emc2103_data),
565 if (!data)
568 i2c_set_clientdata(client, data);
569 data->client = client;
570 mutex_init(&data->update_lock);
576 data->temp_count = 2;
587 data->temp_count = (status & 0x01) ? 4 : 3;
592 data->temp_count = 3;
597 data->temp_count = 4;
604 data->groups[idx++] = &emc2103_group;
605 if (data->temp_count >= 3)
606 data->groups[idx++] = &emc2103_temp3_group;
607 if (data->temp_count == 4)
608 data->groups[idx++] = &emc2103_temp4_group;
611 client->name, data,
612 data->groups);