Lines Matching refs:data

138 	struct emc2103_data *data = i2c_get_clientdata(client);  in read_fan_config_from_i2c()  local
144 data->fan_multiplier = 1 << ((conf1 & 0x60) >> 5); in read_fan_config_from_i2c()
145 data->fan_rpm_control = (conf1 & 0x80) != 0; in read_fan_config_from_i2c()
150 struct emc2103_data *data = dev_get_drvdata(dev); in emc2103_update_device() local
151 struct i2c_client *client = data->client; in emc2103_update_device()
153 mutex_lock(&data->update_lock); in emc2103_update_device()
155 if (time_after(jiffies, data->last_updated + HZ + HZ / 2) in emc2103_update_device()
156 || !data->valid) { in emc2103_update_device()
159 for (i = 0; i < data->temp_count; i++) { in emc2103_update_device()
160 read_temp_from_i2c(client, REG_TEMP[i], &data->temp[i]); in emc2103_update_device()
162 &data->temp_min[i]); in emc2103_update_device()
164 &data->temp_max[i]); in emc2103_update_device()
168 &data->temp_min_alarm); in emc2103_update_device()
170 &data->temp_max_alarm); in emc2103_update_device()
172 read_fan_from_i2c(client, &data->fan_tach, in emc2103_update_device()
174 read_fan_from_i2c(client, &data->fan_target, in emc2103_update_device()
178 data->last_updated = jiffies; in emc2103_update_device()
179 data->valid = true; in emc2103_update_device()
182 mutex_unlock(&data->update_lock); in emc2103_update_device()
184 return data; in emc2103_update_device()
191 struct emc2103_data *data = emc2103_update_device(dev); in show_temp() local
192 int millidegrees = data->temp[nr].degrees * 1000 in show_temp()
193 + data->temp[nr].fraction * 125; in show_temp()
201 struct emc2103_data *data = emc2103_update_device(dev); in show_temp_min() local
202 int millidegrees = data->temp_min[nr] * 1000; in show_temp_min()
210 struct emc2103_data *data = emc2103_update_device(dev); in show_temp_max() local
211 int millidegrees = data->temp_max[nr] * 1000; in show_temp_max()
219 struct emc2103_data *data = emc2103_update_device(dev); in show_temp_fault() local
220 bool fault = (data->temp[nr].degrees == -128); in show_temp_fault()
228 struct emc2103_data *data = emc2103_update_device(dev); in show_temp_min_alarm() local
229 bool alarm = data->temp_min_alarm & (1 << nr); in show_temp_min_alarm()
237 struct emc2103_data *data = emc2103_update_device(dev); in show_temp_max_alarm() local
238 bool alarm = data->temp_max_alarm & (1 << nr); in show_temp_max_alarm()
246 struct emc2103_data *data = dev_get_drvdata(dev); in set_temp_min() local
247 struct i2c_client *client = data->client; in set_temp_min()
256 mutex_lock(&data->update_lock); in set_temp_min()
257 data->temp_min[nr] = val; in set_temp_min()
259 mutex_unlock(&data->update_lock); in set_temp_min()
268 struct emc2103_data *data = dev_get_drvdata(dev); in set_temp_max() local
269 struct i2c_client *client = data->client; in set_temp_max()
278 mutex_lock(&data->update_lock); in set_temp_max()
279 data->temp_max[nr] = val; in set_temp_max()
281 mutex_unlock(&data->update_lock); in set_temp_max()
289 struct emc2103_data *data = emc2103_update_device(dev); in show_fan() local
291 if (data->fan_tach != 0) in show_fan()
292 rpm = (FAN_RPM_FACTOR * data->fan_multiplier) / data->fan_tach; in show_fan()
299 struct emc2103_data *data = emc2103_update_device(dev); in show_fan_div() local
300 int fan_div = 8 / data->fan_multiplier; in show_fan_div()
313 struct emc2103_data *data = emc2103_update_device(dev); in set_fan_div() local
314 struct i2c_client *client = data->client; in set_fan_div()
315 int new_range_bits, old_div = 8 / data->fan_multiplier; in set_fan_div()
342 mutex_lock(&data->update_lock); in set_fan_div()
348 mutex_unlock(&data->update_lock); in set_fan_div()
355 data->fan_multiplier = 8 / new_div; in set_fan_div()
358 if ((data->fan_target & 0x1fe0) != 0x1fe0) { in set_fan_div()
359 u16 new_target = (data->fan_target * old_div) / new_div; in set_fan_div()
360 data->fan_target = min(new_target, (u16)0x1fff); in set_fan_div()
361 write_fan_target_to_i2c(client, data->fan_target); in set_fan_div()
365 data->valid = false; in set_fan_div()
367 mutex_unlock(&data->update_lock); in set_fan_div()
374 struct emc2103_data *data = emc2103_update_device(dev); in show_fan_target() local
378 if ((data->fan_target != 0) && ((data->fan_target & 0x1fe0) != 0x1fe0)) in show_fan_target()
379 rpm = (FAN_RPM_FACTOR * data->fan_multiplier) in show_fan_target()
380 / data->fan_target; in show_fan_target()
388 struct emc2103_data *data = emc2103_update_device(dev); in set_fan_target() local
389 struct i2c_client *client = data->client; in set_fan_target()
399 mutex_lock(&data->update_lock); in set_fan_target()
402 data->fan_target = 0x1fff; in set_fan_target()
404 data->fan_target = clamp_val( in set_fan_target()
405 (FAN_RPM_FACTOR * data->fan_multiplier) / rpm_target, in set_fan_target()
408 write_fan_target_to_i2c(client, data->fan_target); in set_fan_target()
410 mutex_unlock(&data->update_lock); in set_fan_target()
417 struct emc2103_data *data = emc2103_update_device(dev); in show_fan_fault() local
418 bool fault = ((data->fan_tach & 0x1fe0) == 0x1fe0); in show_fan_fault()
425 struct emc2103_data *data = emc2103_update_device(dev); in show_pwm_enable() local
426 return sprintf(buf, "%d\n", data->fan_rpm_control ? 3 : 0); in show_pwm_enable()
432 struct emc2103_data *data = dev_get_drvdata(dev); in set_pwm_enable() local
433 struct i2c_client *client = data->client; in set_pwm_enable()
441 mutex_lock(&data->update_lock); in set_pwm_enable()
444 data->fan_rpm_control = false; in set_pwm_enable()
447 data->fan_rpm_control = true; in set_pwm_enable()
460 if (data->fan_rpm_control) in set_pwm_enable()
467 mutex_unlock(&data->update_lock); in set_pwm_enable()
583 struct emc2103_data *data; in emc2103_probe() local
590 data = devm_kzalloc(&client->dev, sizeof(struct emc2103_data), in emc2103_probe()
592 if (!data) in emc2103_probe()
595 i2c_set_clientdata(client, data); in emc2103_probe()
596 data->client = client; in emc2103_probe()
597 mutex_init(&data->update_lock); in emc2103_probe()
603 data->temp_count = 2; in emc2103_probe()
614 data->temp_count = (status & 0x01) ? 4 : 3; in emc2103_probe()
619 data->temp_count = 3; in emc2103_probe()
624 data->temp_count = 4; in emc2103_probe()
631 data->groups[idx++] = &emc2103_group; in emc2103_probe()
632 if (data->temp_count >= 3) in emc2103_probe()
633 data->groups[idx++] = &emc2103_temp3_group; in emc2103_probe()
634 if (data->temp_count == 4) in emc2103_probe()
635 data->groups[idx++] = &emc2103_temp4_group; in emc2103_probe()
638 client->name, data, in emc2103_probe()
639 data->groups); in emc2103_probe()