Lines Matching refs:data

198 				     struct adt7470_data *data)  in adt7470_read_temperatures()  argument
228 res = msleep_interruptible((data->num_temp_sensors >= 0 ? in adt7470_read_temperatures()
229 data->num_temp_sensors * 200 : in adt7470_read_temperatures()
247 if (data->num_temp_sensors >= 0) in adt7470_read_temperatures()
251 data->temp[i] = i2c_smbus_read_byte_data(client, in adt7470_read_temperatures()
253 if (data->temp[i]) in adt7470_read_temperatures()
254 data->num_temp_sensors = i + 1; in adt7470_read_temperatures()
256 data->temperatures_probed = 1; in adt7470_read_temperatures()
263 struct adt7470_data *data = i2c_get_clientdata(client); in adt7470_update_thread() local
266 mutex_lock(&data->lock); in adt7470_update_thread()
267 adt7470_read_temperatures(client, data); in adt7470_update_thread()
268 mutex_unlock(&data->lock); in adt7470_update_thread()
271 msleep_interruptible(data->auto_update_interval); in adt7470_update_thread()
274 complete_all(&data->auto_update_stop); in adt7470_update_thread()
280 struct adt7470_data *data = dev_get_drvdata(dev); in adt7470_update_device() local
281 struct i2c_client *client = data->client; in adt7470_update_device()
293 if (time_before(local_jiffies, data->sensors_last_updated + in adt7470_update_device()
295 data->sensors_valid) in adt7470_update_device()
298 if (time_before(local_jiffies, data->limits_last_updated + in adt7470_update_device()
300 data->limits_valid) in adt7470_update_device()
304 return data; in adt7470_update_device()
306 mutex_lock(&data->lock); in adt7470_update_device()
310 if (!data->temperatures_probed) in adt7470_update_device()
311 adt7470_read_temperatures(client, data); in adt7470_update_device()
314 data->temp[i] = i2c_smbus_read_byte_data(client, in adt7470_update_device()
318 data->fan[i] = adt7470_read_word_data(client, in adt7470_update_device()
325 data->pwm[i] = i2c_smbus_read_byte_data(client, in adt7470_update_device()
335 data->pwm_automatic[i] = 1; in adt7470_update_device()
337 data->pwm_automatic[i] = 0; in adt7470_update_device()
342 data->pwm_auto_temp[i] = cfg >> 4; in adt7470_update_device()
344 data->pwm_auto_temp[i] = cfg & 0xF; in adt7470_update_device()
349 data->force_pwm_max = 1; in adt7470_update_device()
351 data->force_pwm_max = 0; in adt7470_update_device()
353 data->alarm = i2c_smbus_read_byte_data(client, ADT7470_REG_ALARM1); in adt7470_update_device()
354 if (data->alarm & ADT7470_OOL_ALARM) in adt7470_update_device()
355 data->alarm |= ALARM2(i2c_smbus_read_byte_data(client, in adt7470_update_device()
357 data->alarms_mask = adt7470_read_word_data(client, in adt7470_update_device()
360 data->sensors_last_updated = local_jiffies; in adt7470_update_device()
361 data->sensors_valid = 1; in adt7470_update_device()
368 data->temp_min[i] = i2c_smbus_read_byte_data(client, in adt7470_update_device()
370 data->temp_max[i] = i2c_smbus_read_byte_data(client, in adt7470_update_device()
375 data->fan_min[i] = adt7470_read_word_data(client, in adt7470_update_device()
377 data->fan_max[i] = adt7470_read_word_data(client, in adt7470_update_device()
382 data->pwm_max[i] = i2c_smbus_read_byte_data(client, in adt7470_update_device()
384 data->pwm_min[i] = i2c_smbus_read_byte_data(client, in adt7470_update_device()
386 data->pwm_tmin[i] = i2c_smbus_read_byte_data(client, in adt7470_update_device()
390 data->limits_last_updated = local_jiffies; in adt7470_update_device()
391 data->limits_valid = 1; in adt7470_update_device()
394 mutex_unlock(&data->lock); in adt7470_update_device()
395 return data; in adt7470_update_device()
402 struct adt7470_data *data = adt7470_update_device(dev); in show_auto_update_interval() local
403 return sprintf(buf, "%d\n", data->auto_update_interval); in show_auto_update_interval()
411 struct adt7470_data *data = dev_get_drvdata(dev); in set_auto_update_interval() local
419 mutex_lock(&data->lock); in set_auto_update_interval()
420 data->auto_update_interval = temp; in set_auto_update_interval()
421 mutex_unlock(&data->lock); in set_auto_update_interval()
430 struct adt7470_data *data = adt7470_update_device(dev); in show_num_temp_sensors() local
431 return sprintf(buf, "%d\n", data->num_temp_sensors); in show_num_temp_sensors()
439 struct adt7470_data *data = dev_get_drvdata(dev); in set_num_temp_sensors() local
447 mutex_lock(&data->lock); in set_num_temp_sensors()
448 data->num_temp_sensors = temp; in set_num_temp_sensors()
450 data->temperatures_probed = 0; in set_num_temp_sensors()
451 mutex_unlock(&data->lock); in set_num_temp_sensors()
461 struct adt7470_data *data = adt7470_update_device(dev); in show_temp_min() local
462 return sprintf(buf, "%d\n", 1000 * data->temp_min[attr->index]); in show_temp_min()
471 struct adt7470_data *data = dev_get_drvdata(dev); in set_temp_min() local
472 struct i2c_client *client = data->client; in set_temp_min()
481 mutex_lock(&data->lock); in set_temp_min()
482 data->temp_min[attr->index] = temp; in set_temp_min()
485 mutex_unlock(&data->lock); in set_temp_min()
495 struct adt7470_data *data = adt7470_update_device(dev); in show_temp_max() local
496 return sprintf(buf, "%d\n", 1000 * data->temp_max[attr->index]); in show_temp_max()
505 struct adt7470_data *data = dev_get_drvdata(dev); in set_temp_max() local
506 struct i2c_client *client = data->client; in set_temp_max()
515 mutex_lock(&data->lock); in set_temp_max()
516 data->temp_max[attr->index] = temp; in set_temp_max()
519 mutex_unlock(&data->lock); in set_temp_max()
528 struct adt7470_data *data = adt7470_update_device(dev); in show_temp() local
529 return sprintf(buf, "%d\n", 1000 * data->temp[attr->index]); in show_temp()
536 struct adt7470_data *data = adt7470_update_device(dev); in show_alarm_mask() local
538 return sprintf(buf, "%x\n", data->alarms_mask); in show_alarm_mask()
546 struct adt7470_data *data = adt7470_update_device(dev); in show_fan_max() local
548 if (FAN_DATA_VALID(data->fan_max[attr->index])) in show_fan_max()
550 FAN_PERIOD_TO_RPM(data->fan_max[attr->index])); in show_fan_max()
560 struct adt7470_data *data = dev_get_drvdata(dev); in set_fan_max() local
561 struct i2c_client *client = data->client; in set_fan_max()
570 mutex_lock(&data->lock); in set_fan_max()
571 data->fan_max[attr->index] = temp; in set_fan_max()
573 mutex_unlock(&data->lock); in set_fan_max()
583 struct adt7470_data *data = adt7470_update_device(dev); in show_fan_min() local
585 if (FAN_DATA_VALID(data->fan_min[attr->index])) in show_fan_min()
587 FAN_PERIOD_TO_RPM(data->fan_min[attr->index])); in show_fan_min()
597 struct adt7470_data *data = dev_get_drvdata(dev); in set_fan_min() local
598 struct i2c_client *client = data->client; in set_fan_min()
607 mutex_lock(&data->lock); in set_fan_min()
608 data->fan_min[attr->index] = temp; in set_fan_min()
610 mutex_unlock(&data->lock); in set_fan_min()
619 struct adt7470_data *data = adt7470_update_device(dev); in show_fan() local
621 if (FAN_DATA_VALID(data->fan[attr->index])) in show_fan()
623 FAN_PERIOD_TO_RPM(data->fan[attr->index])); in show_fan()
632 struct adt7470_data *data = adt7470_update_device(dev); in show_force_pwm_max() local
633 return sprintf(buf, "%d\n", data->force_pwm_max); in show_force_pwm_max()
641 struct adt7470_data *data = dev_get_drvdata(dev); in set_force_pwm_max() local
642 struct i2c_client *client = data->client; in set_force_pwm_max()
649 mutex_lock(&data->lock); in set_force_pwm_max()
650 data->force_pwm_max = temp; in set_force_pwm_max()
657 mutex_unlock(&data->lock); in set_force_pwm_max()
666 struct adt7470_data *data = adt7470_update_device(dev); in show_pwm() local
667 return sprintf(buf, "%d\n", data->pwm[attr->index]); in show_pwm()
674 struct adt7470_data *data = dev_get_drvdata(dev); in set_pwm() local
675 struct i2c_client *client = data->client; in set_pwm()
683 mutex_lock(&data->lock); in set_pwm()
684 data->pwm[attr->index] = temp; in set_pwm()
686 mutex_unlock(&data->lock); in set_pwm()
696 struct adt7470_data *data = adt7470_update_device(dev); in show_pwm_max() local
697 return sprintf(buf, "%d\n", data->pwm_max[attr->index]); in show_pwm_max()
706 struct adt7470_data *data = dev_get_drvdata(dev); in set_pwm_max() local
707 struct i2c_client *client = data->client; in set_pwm_max()
715 mutex_lock(&data->lock); in set_pwm_max()
716 data->pwm_max[attr->index] = temp; in set_pwm_max()
719 mutex_unlock(&data->lock); in set_pwm_max()
729 struct adt7470_data *data = adt7470_update_device(dev); in show_pwm_min() local
730 return sprintf(buf, "%d\n", data->pwm_min[attr->index]); in show_pwm_min()
739 struct adt7470_data *data = dev_get_drvdata(dev); in set_pwm_min() local
740 struct i2c_client *client = data->client; in set_pwm_min()
748 mutex_lock(&data->lock); in set_pwm_min()
749 data->pwm_min[attr->index] = temp; in set_pwm_min()
752 mutex_unlock(&data->lock); in set_pwm_min()
762 struct adt7470_data *data = adt7470_update_device(dev); in show_pwm_tmax() local
764 return sprintf(buf, "%d\n", 1000 * (20 + data->pwm_tmin[attr->index])); in show_pwm_tmax()
772 struct adt7470_data *data = adt7470_update_device(dev); in show_pwm_tmin() local
773 return sprintf(buf, "%d\n", 1000 * data->pwm_tmin[attr->index]); in show_pwm_tmin()
782 struct adt7470_data *data = dev_get_drvdata(dev); in set_pwm_tmin() local
783 struct i2c_client *client = data->client; in set_pwm_tmin()
792 mutex_lock(&data->lock); in set_pwm_tmin()
793 data->pwm_tmin[attr->index] = temp; in set_pwm_tmin()
796 mutex_unlock(&data->lock); in set_pwm_tmin()
806 struct adt7470_data *data = adt7470_update_device(dev); in show_pwm_auto() local
807 return sprintf(buf, "%d\n", 1 + data->pwm_automatic[attr->index]); in show_pwm_auto()
816 struct adt7470_data *data = dev_get_drvdata(dev); in set_pwm_auto() local
817 struct i2c_client *client = data->client; in set_pwm_auto()
835 mutex_lock(&data->lock); in set_pwm_auto()
836 data->pwm_automatic[attr->index] = temp; in set_pwm_auto()
843 mutex_unlock(&data->lock); in set_pwm_auto()
853 struct adt7470_data *data = adt7470_update_device(dev); in show_pwm_auto_temp() local
854 u8 ctrl = data->pwm_auto_temp[attr->index]; in show_pwm_auto_temp()
877 struct adt7470_data *data = dev_get_drvdata(dev); in set_pwm_auto_temp() local
878 struct i2c_client *client = data->client; in set_pwm_auto_temp()
890 mutex_lock(&data->lock); in set_pwm_auto_temp()
891 data->pwm_automatic[attr->index] = temp; in set_pwm_auto_temp()
903 mutex_unlock(&data->lock); in set_pwm_auto_temp()
913 struct adt7470_data *data = adt7470_update_device(dev); in show_alarm() local
915 if (data->alarm & attr->index) in show_alarm()
1232 struct adt7470_data *data; in adt7470_probe() local
1235 data = devm_kzalloc(dev, sizeof(struct adt7470_data), GFP_KERNEL); in adt7470_probe()
1236 if (!data) in adt7470_probe()
1239 data->num_temp_sensors = -1; in adt7470_probe()
1240 data->auto_update_interval = AUTO_UPDATE_INTERVAL; in adt7470_probe()
1242 i2c_set_clientdata(client, data); in adt7470_probe()
1243 data->client = client; in adt7470_probe()
1244 mutex_init(&data->lock); in adt7470_probe()
1253 data, in adt7470_probe()
1259 init_completion(&data->auto_update_stop); in adt7470_probe()
1260 data->auto_update = kthread_run(adt7470_update_thread, client, "%s", in adt7470_probe()
1262 if (IS_ERR(data->auto_update)) { in adt7470_probe()
1263 return PTR_ERR(data->auto_update); in adt7470_probe()
1271 struct adt7470_data *data = i2c_get_clientdata(client); in adt7470_remove() local
1273 kthread_stop(data->auto_update); in adt7470_remove()
1274 wait_for_completion(&data->auto_update_stop); in adt7470_remove()