Lines Matching refs:data
183 struct f75375_data *data = i2c_get_clientdata(client); in f75375_write_pwm() local
184 if (data->kind == f75387) in f75375_write_pwm()
185 f75375_write16(client, F75375_REG_FAN_EXP(nr), data->pwm[nr]); in f75375_write_pwm()
188 data->pwm[nr]); in f75375_write_pwm()
194 struct f75375_data *data = i2c_get_clientdata(client); in f75375_update_device() local
197 mutex_lock(&data->update_lock); in f75375_update_device()
200 if (time_after(jiffies, data->last_limits + 60 * HZ) in f75375_update_device()
201 || !data->valid) { in f75375_update_device()
203 data->temp_high[nr] = in f75375_update_device()
205 data->temp_max_hyst[nr] = in f75375_update_device()
207 data->fan_max[nr] = in f75375_update_device()
209 data->fan_min[nr] = in f75375_update_device()
211 data->fan_target[nr] = in f75375_update_device()
215 data->in_max[nr] = in f75375_update_device()
217 data->in_min[nr] = in f75375_update_device()
220 data->fan_timer = f75375_read8(client, F75375_REG_FAN_TIMER); in f75375_update_device()
221 data->last_limits = jiffies; in f75375_update_device()
225 if (time_after(jiffies, data->last_updated + 2 * HZ) in f75375_update_device()
226 || !data->valid) { in f75375_update_device()
228 data->pwm[nr] = f75375_read8(client, in f75375_update_device()
231 data->temp11[nr] = in f75375_update_device()
233 if (data->kind == f75387) in f75375_update_device()
235 data->temp11[nr] |= in f75375_update_device()
238 data->fan[nr] = in f75375_update_device()
242 data->in[nr] = in f75375_update_device()
245 data->last_updated = jiffies; in f75375_update_device()
246 data->valid = 1; in f75375_update_device()
249 mutex_unlock(&data->update_lock); in f75375_update_device()
250 return data; in f75375_update_device()
304 struct f75375_data *data = i2c_get_clientdata(client); in set_fan_min() local
312 mutex_lock(&data->update_lock); in set_fan_min()
313 data->fan_min[nr] = rpm_to_reg(val); in set_fan_min()
314 f75375_write16(client, F75375_REG_FAN_MIN(nr), data->fan_min[nr]); in set_fan_min()
315 mutex_unlock(&data->update_lock); in set_fan_min()
324 struct f75375_data *data = i2c_get_clientdata(client); in set_fan_target() local
332 if (auto_mode_enabled(data->pwm_enable[nr])) in set_fan_target()
334 if (data->kind == f75387 && duty_mode_enabled(data->pwm_enable[nr])) in set_fan_target()
337 mutex_lock(&data->update_lock); in set_fan_target()
338 data->fan_target[nr] = rpm_to_reg(val); in set_fan_target()
339 f75375_write16(client, F75375_REG_FAN_EXP(nr), data->fan_target[nr]); in set_fan_target()
340 mutex_unlock(&data->update_lock); in set_fan_target()
349 struct f75375_data *data = i2c_get_clientdata(client); in set_pwm() local
357 if (auto_mode_enabled(data->pwm_enable[nr]) || in set_pwm()
358 !duty_mode_enabled(data->pwm_enable[nr])) in set_pwm()
361 mutex_lock(&data->update_lock); in set_pwm()
362 data->pwm[nr] = clamp_val(val, 0, 255); in set_pwm()
364 mutex_unlock(&data->update_lock); in set_pwm()
372 struct f75375_data *data = f75375_update_device(dev); in show_pwm_enable() local
373 return sprintf(buf, "%d\n", data->pwm_enable[nr]); in show_pwm_enable()
378 struct f75375_data *data = i2c_get_clientdata(client); in set_pwm_enable_direct() local
385 if (data->kind == f75387) { in set_pwm_enable_direct()
387 if (duty_mode_enabled(data->pwm_enable[nr]) != in set_pwm_enable_direct()
397 data->pwm[nr] = 255; in set_pwm_enable_direct()
418 data->pwm[nr] = 255; in set_pwm_enable_direct()
434 data->pwm_enable[nr] = val; in set_pwm_enable_direct()
445 struct f75375_data *data = i2c_get_clientdata(client); in set_pwm_enable() local
453 mutex_lock(&data->update_lock); in set_pwm_enable()
455 mutex_unlock(&data->update_lock); in set_pwm_enable()
464 struct f75375_data *data = i2c_get_clientdata(client); in set_pwm_mode() local
478 if (data->kind == f75373 && val == 0) in set_pwm_mode()
482 if (data->kind == f75387) { in set_pwm_mode()
490 mutex_lock(&data->update_lock); in set_pwm_mode()
498 data->pwm_mode[nr] = val; in set_pwm_mode()
499 mutex_unlock(&data->update_lock); in set_pwm_mode()
507 struct f75375_data *data = f75375_update_device(dev); in show_pwm() local
508 return sprintf(buf, "%d\n", data->pwm[nr]); in show_pwm()
515 struct f75375_data *data = f75375_update_device(dev); in show_pwm_mode() local
516 return sprintf(buf, "%d\n", data->pwm_mode[nr]); in show_pwm_mode()
526 struct f75375_data *data = f75375_update_device(dev); in show_in() local
527 return sprintf(buf, "%d\n", VOLT_FROM_REG(data->in[nr])); in show_in()
534 struct f75375_data *data = f75375_update_device(dev); in show_in_max() local
535 return sprintf(buf, "%d\n", VOLT_FROM_REG(data->in_max[nr])); in show_in_max()
542 struct f75375_data *data = f75375_update_device(dev); in show_in_min() local
543 return sprintf(buf, "%d\n", VOLT_FROM_REG(data->in_min[nr])); in show_in_min()
551 struct f75375_data *data = i2c_get_clientdata(client); in set_in_max() local
560 mutex_lock(&data->update_lock); in set_in_max()
561 data->in_max[nr] = val; in set_in_max()
562 f75375_write8(client, F75375_REG_VOLT_HIGH(nr), data->in_max[nr]); in set_in_max()
563 mutex_unlock(&data->update_lock); in set_in_max()
572 struct f75375_data *data = i2c_get_clientdata(client); in set_in_min() local
581 mutex_lock(&data->update_lock); in set_in_min()
582 data->in_min[nr] = val; in set_in_min()
583 f75375_write8(client, F75375_REG_VOLT_LOW(nr), data->in_min[nr]); in set_in_min()
584 mutex_unlock(&data->update_lock); in set_in_min()
595 struct f75375_data *data = f75375_update_device(dev); in show_temp11() local
596 return sprintf(buf, "%d\n", TEMP11_FROM_REG(data->temp11[nr])); in show_temp11()
603 struct f75375_data *data = f75375_update_device(dev); in show_temp_max() local
604 return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp_high[nr])); in show_temp_max()
611 struct f75375_data *data = f75375_update_device(dev); in show_temp_max_hyst() local
612 return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp_max_hyst[nr])); in show_temp_max_hyst()
620 struct f75375_data *data = i2c_get_clientdata(client); in set_temp_max() local
629 mutex_lock(&data->update_lock); in set_temp_max()
630 data->temp_high[nr] = val; in set_temp_max()
631 f75375_write8(client, F75375_REG_TEMP_HIGH(nr), data->temp_high[nr]); in set_temp_max()
632 mutex_unlock(&data->update_lock); in set_temp_max()
641 struct f75375_data *data = i2c_get_clientdata(client); in set_temp_max_hyst() local
650 mutex_lock(&data->update_lock); in set_temp_max_hyst()
651 data->temp_max_hyst[nr] = val; in set_temp_max_hyst()
653 data->temp_max_hyst[nr]); in set_temp_max_hyst()
654 mutex_unlock(&data->update_lock); in set_temp_max_hyst()
663 struct f75375_data *data = f75375_update_device(dev); \
664 return sprintf(buf, "%d\n", rpm_from_reg(data->thing[nr])); \
767 static void f75375_init(struct i2c_client *client, struct f75375_data *data, in f75375_init() argument
779 if (data->kind == f75387) { in f75375_init()
783 data->pwm_mode[nr] = 1; in f75375_init()
789 data->pwm_enable[nr] = 4; in f75375_init()
792 data->pwm_enable[nr] = 3; in f75375_init()
795 data->pwm_enable[nr] = 2; in f75375_init()
798 data->pwm_enable[nr] = 1; in f75375_init()
801 data->pwm_mode[nr] = 1; in f75375_init()
805 data->pwm_enable[nr] = 3; in f75375_init()
808 data->pwm_enable[nr] = 2; in f75375_init()
811 data->pwm_enable[nr] = 1; in f75375_init()
825 data->pwm[nr] = clamp_val(f75375s_pdata->pwm[nr], 0, 255); in f75375_init()
834 struct f75375_data *data; in f75375_probe() local
842 data = devm_kzalloc(&client->dev, sizeof(struct f75375_data), in f75375_probe()
844 if (!data) in f75375_probe()
847 i2c_set_clientdata(client, data); in f75375_probe()
848 mutex_init(&data->update_lock); in f75375_probe()
849 data->kind = id->driver_data; in f75375_probe()
855 if (data->kind != f75373) { in f75375_probe()
868 data->hwmon_dev = hwmon_device_register(&client->dev); in f75375_probe()
869 if (IS_ERR(data->hwmon_dev)) { in f75375_probe()
870 err = PTR_ERR(data->hwmon_dev); in f75375_probe()
874 f75375_init(client, data, f75375s_pdata); in f75375_probe()
885 struct f75375_data *data = i2c_get_clientdata(client); in f75375_remove() local
886 hwmon_device_unregister(data->hwmon_dev); in f75375_remove()