Lines Matching refs:data
209 struct g762_data *data = dev_get_drvdata(dev); in g762_update_client() local
210 struct i2c_client *client = data->client; in g762_update_client()
213 mutex_lock(&data->update_lock); in g762_update_client()
214 if (time_before(jiffies, data->last_updated + G762_UPDATE_INTERVAL) && in g762_update_client()
215 likely(data->valid)) in g762_update_client()
221 data->set_cnt = ret; in g762_update_client()
226 data->act_cnt = ret; in g762_update_client()
231 data->fan_sta = ret; in g762_update_client()
236 data->set_out = ret; in g762_update_client()
241 data->fan_cmd1 = ret; in g762_update_client()
246 data->fan_cmd2 = ret; in g762_update_client()
248 data->last_updated = jiffies; in g762_update_client()
249 data->valid = true; in g762_update_client()
251 mutex_unlock(&data->update_lock); in g762_update_client()
254 data = ERR_PTR(ret); in g762_update_client()
256 return data; in g762_update_client()
269 struct g762_data *data = dev_get_drvdata(dev); in do_set_clk_freq() local
276 data->clk_freq = val; in do_set_clk_freq()
284 struct g762_data *data = g762_update_client(dev); in do_set_pwm_mode() local
287 if (IS_ERR(data)) in do_set_pwm_mode()
288 return PTR_ERR(data); in do_set_pwm_mode()
290 mutex_lock(&data->update_lock); in do_set_pwm_mode()
293 data->fan_cmd1 |= G762_REG_FAN_CMD1_OUT_MODE; in do_set_pwm_mode()
296 data->fan_cmd1 &= ~G762_REG_FAN_CMD1_OUT_MODE; in do_set_pwm_mode()
302 ret = i2c_smbus_write_byte_data(data->client, G762_REG_FAN_CMD1, in do_set_pwm_mode()
303 data->fan_cmd1); in do_set_pwm_mode()
304 data->valid = false; in do_set_pwm_mode()
306 mutex_unlock(&data->update_lock); in do_set_pwm_mode()
314 struct g762_data *data = g762_update_client(dev); in do_set_fan_div() local
317 if (IS_ERR(data)) in do_set_fan_div()
318 return PTR_ERR(data); in do_set_fan_div()
320 mutex_lock(&data->update_lock); in do_set_fan_div()
323 data->fan_cmd1 &= ~G762_REG_FAN_CMD1_CLK_DIV_ID0; in do_set_fan_div()
324 data->fan_cmd1 &= ~G762_REG_FAN_CMD1_CLK_DIV_ID1; in do_set_fan_div()
327 data->fan_cmd1 |= G762_REG_FAN_CMD1_CLK_DIV_ID0; in do_set_fan_div()
328 data->fan_cmd1 &= ~G762_REG_FAN_CMD1_CLK_DIV_ID1; in do_set_fan_div()
331 data->fan_cmd1 &= ~G762_REG_FAN_CMD1_CLK_DIV_ID0; in do_set_fan_div()
332 data->fan_cmd1 |= G762_REG_FAN_CMD1_CLK_DIV_ID1; in do_set_fan_div()
335 data->fan_cmd1 |= G762_REG_FAN_CMD1_CLK_DIV_ID0; in do_set_fan_div()
336 data->fan_cmd1 |= G762_REG_FAN_CMD1_CLK_DIV_ID1; in do_set_fan_div()
342 ret = i2c_smbus_write_byte_data(data->client, G762_REG_FAN_CMD1, in do_set_fan_div()
343 data->fan_cmd1); in do_set_fan_div()
344 data->valid = false; in do_set_fan_div()
346 mutex_unlock(&data->update_lock); in do_set_fan_div()
354 struct g762_data *data = g762_update_client(dev); in do_set_fan_gear_mode() local
357 if (IS_ERR(data)) in do_set_fan_gear_mode()
358 return PTR_ERR(data); in do_set_fan_gear_mode()
360 mutex_lock(&data->update_lock); in do_set_fan_gear_mode()
363 data->fan_cmd2 &= ~G762_REG_FAN_CMD2_GEAR_MODE_0; in do_set_fan_gear_mode()
364 data->fan_cmd2 &= ~G762_REG_FAN_CMD2_GEAR_MODE_1; in do_set_fan_gear_mode()
367 data->fan_cmd2 |= G762_REG_FAN_CMD2_GEAR_MODE_0; in do_set_fan_gear_mode()
368 data->fan_cmd2 &= ~G762_REG_FAN_CMD2_GEAR_MODE_1; in do_set_fan_gear_mode()
371 data->fan_cmd2 &= ~G762_REG_FAN_CMD2_GEAR_MODE_0; in do_set_fan_gear_mode()
372 data->fan_cmd2 |= G762_REG_FAN_CMD2_GEAR_MODE_1; in do_set_fan_gear_mode()
378 ret = i2c_smbus_write_byte_data(data->client, G762_REG_FAN_CMD2, in do_set_fan_gear_mode()
379 data->fan_cmd2); in do_set_fan_gear_mode()
380 data->valid = false; in do_set_fan_gear_mode()
382 mutex_unlock(&data->update_lock); in do_set_fan_gear_mode()
390 struct g762_data *data = g762_update_client(dev); in do_set_fan_pulses() local
393 if (IS_ERR(data)) in do_set_fan_pulses()
394 return PTR_ERR(data); in do_set_fan_pulses()
396 mutex_lock(&data->update_lock); in do_set_fan_pulses()
399 data->fan_cmd1 &= ~G762_REG_FAN_CMD1_PULSE_PER_REV; in do_set_fan_pulses()
402 data->fan_cmd1 |= G762_REG_FAN_CMD1_PULSE_PER_REV; in do_set_fan_pulses()
408 ret = i2c_smbus_write_byte_data(data->client, G762_REG_FAN_CMD1, in do_set_fan_pulses()
409 data->fan_cmd1); in do_set_fan_pulses()
410 data->valid = false; in do_set_fan_pulses()
412 mutex_unlock(&data->update_lock); in do_set_fan_pulses()
420 struct g762_data *data = g762_update_client(dev); in do_set_pwm_enable() local
423 if (IS_ERR(data)) in do_set_pwm_enable()
424 return PTR_ERR(data); in do_set_pwm_enable()
426 mutex_lock(&data->update_lock); in do_set_pwm_enable()
429 data->fan_cmd1 |= G762_REG_FAN_CMD1_FAN_MODE; in do_set_pwm_enable()
432 data->fan_cmd1 &= ~G762_REG_FAN_CMD1_FAN_MODE; in do_set_pwm_enable()
440 if (data->set_cnt == 0xff) in do_set_pwm_enable()
441 i2c_smbus_write_byte_data(data->client, in do_set_pwm_enable()
449 ret = i2c_smbus_write_byte_data(data->client, G762_REG_FAN_CMD1, in do_set_pwm_enable()
450 data->fan_cmd1); in do_set_pwm_enable()
451 data->valid = false; in do_set_pwm_enable()
453 mutex_unlock(&data->update_lock); in do_set_pwm_enable()
461 struct g762_data *data = g762_update_client(dev); in do_set_pwm_polarity() local
464 if (IS_ERR(data)) in do_set_pwm_polarity()
465 return PTR_ERR(data); in do_set_pwm_polarity()
467 mutex_lock(&data->update_lock); in do_set_pwm_polarity()
470 data->fan_cmd1 &= ~G762_REG_FAN_CMD1_PWM_POLARITY; in do_set_pwm_polarity()
473 data->fan_cmd1 |= G762_REG_FAN_CMD1_PWM_POLARITY; in do_set_pwm_polarity()
479 ret = i2c_smbus_write_byte_data(data->client, G762_REG_FAN_CMD1, in do_set_pwm_polarity()
480 data->fan_cmd1); in do_set_pwm_polarity()
481 data->valid = false; in do_set_pwm_polarity()
483 mutex_unlock(&data->update_lock); in do_set_pwm_polarity()
494 struct g762_data *data = dev_get_drvdata(dev); in do_set_pwm() local
495 struct i2c_client *client = data->client; in do_set_pwm()
501 mutex_lock(&data->update_lock); in do_set_pwm()
503 data->valid = false; in do_set_pwm()
504 mutex_unlock(&data->update_lock); in do_set_pwm()
515 struct g762_data *data = g762_update_client(dev); in do_set_fan_target() local
518 if (IS_ERR(data)) in do_set_fan_target()
519 return PTR_ERR(data); in do_set_fan_target()
521 mutex_lock(&data->update_lock); in do_set_fan_target()
522 data->set_cnt = cnt_from_rpm(val, data->clk_freq, in do_set_fan_target()
523 G762_PULSE_FROM_REG(data->fan_cmd1), in do_set_fan_target()
524 G762_CLKDIV_FROM_REG(data->fan_cmd1), in do_set_fan_target()
525 G762_GEARMULT_FROM_REG(data->fan_cmd2)); in do_set_fan_target()
526 ret = i2c_smbus_write_byte_data(data->client, G762_REG_SET_CNT, in do_set_fan_target()
527 data->set_cnt); in do_set_fan_target()
528 data->valid = false; in do_set_fan_target()
529 mutex_unlock(&data->update_lock); in do_set_fan_target()
537 struct g762_data *data = g762_update_client(dev); in do_set_fan_startv() local
540 if (IS_ERR(data)) in do_set_fan_startv()
541 return PTR_ERR(data); in do_set_fan_startv()
543 mutex_lock(&data->update_lock); in do_set_fan_startv()
546 data->fan_cmd2 &= ~G762_REG_FAN_CMD2_FAN_STARTV_0; in do_set_fan_startv()
547 data->fan_cmd2 &= ~G762_REG_FAN_CMD2_FAN_STARTV_1; in do_set_fan_startv()
550 data->fan_cmd2 |= G762_REG_FAN_CMD2_FAN_STARTV_0; in do_set_fan_startv()
551 data->fan_cmd2 &= ~G762_REG_FAN_CMD2_FAN_STARTV_1; in do_set_fan_startv()
554 data->fan_cmd2 &= ~G762_REG_FAN_CMD2_FAN_STARTV_0; in do_set_fan_startv()
555 data->fan_cmd2 |= G762_REG_FAN_CMD2_FAN_STARTV_1; in do_set_fan_startv()
558 data->fan_cmd2 |= G762_REG_FAN_CMD2_FAN_STARTV_0; in do_set_fan_startv()
559 data->fan_cmd2 |= G762_REG_FAN_CMD2_FAN_STARTV_1; in do_set_fan_startv()
565 ret = i2c_smbus_write_byte_data(data->client, G762_REG_FAN_CMD2, in do_set_fan_startv()
566 data->fan_cmd2); in do_set_fan_startv()
567 data->valid = false; in do_set_fan_startv()
569 mutex_unlock(&data->update_lock); in do_set_fan_startv()
595 struct g762_data *data; in g762_of_clock_enable() local
622 data = i2c_get_clientdata(client); in g762_of_clock_enable()
623 data->clk = clk; in g762_of_clock_enable()
638 struct g762_data *data = i2c_get_clientdata(client); in g762_of_clock_disable() local
640 if (!data->clk) in g762_of_clock_disable()
643 clk_disable_unprepare(data->clk); in g762_of_clock_disable()
644 clk_put(data->clk); in g762_of_clock_disable()
740 struct g762_data *data = g762_update_client(dev); in get_fan_rpm() local
743 if (IS_ERR(data)) in get_fan_rpm()
744 return PTR_ERR(data); in get_fan_rpm()
746 mutex_lock(&data->update_lock); in get_fan_rpm()
748 if (data->fan_sta & G762_REG_FAN_STA_OOC) { in get_fan_rpm()
749 rpm = rpm_from_cnt(data->act_cnt, data->clk_freq, in get_fan_rpm()
750 G762_PULSE_FROM_REG(data->fan_cmd1), in get_fan_rpm()
751 G762_CLKDIV_FROM_REG(data->fan_cmd1), in get_fan_rpm()
752 G762_GEARMULT_FROM_REG(data->fan_cmd2)); in get_fan_rpm()
754 mutex_unlock(&data->update_lock); in get_fan_rpm()
766 struct g762_data *data = g762_update_client(dev); in get_pwm_mode() local
768 if (IS_ERR(data)) in get_pwm_mode()
769 return PTR_ERR(data); in get_pwm_mode()
772 !!(data->fan_cmd1 & G762_REG_FAN_CMD1_OUT_MODE)); in get_pwm_mode()
798 struct g762_data *data = g762_update_client(dev); in get_fan_div() local
800 if (IS_ERR(data)) in get_fan_div()
801 return PTR_ERR(data); in get_fan_div()
803 return sprintf(buf, "%d\n", G762_CLKDIV_FROM_REG(data->fan_cmd1)); in get_fan_div()
830 struct g762_data *data = g762_update_client(dev); in get_fan_pulses() local
832 if (IS_ERR(data)) in get_fan_pulses()
833 return PTR_ERR(data); in get_fan_pulses()
835 return sprintf(buf, "%d\n", G762_PULSE_FROM_REG(data->fan_cmd1)); in get_fan_pulses()
872 struct g762_data *data = g762_update_client(dev); in get_pwm_enable() local
874 if (IS_ERR(data)) in get_pwm_enable()
875 return PTR_ERR(data); in get_pwm_enable()
878 (!!(data->fan_cmd1 & G762_REG_FAN_CMD1_FAN_MODE)) + 1); in get_pwm_enable()
906 struct g762_data *data = g762_update_client(dev); in get_pwm() local
908 if (IS_ERR(data)) in get_pwm()
909 return PTR_ERR(data); in get_pwm()
911 return sprintf(buf, "%d\n", data->set_out); in get_pwm()
944 struct g762_data *data = g762_update_client(dev); in get_fan_target() local
947 if (IS_ERR(data)) in get_fan_target()
948 return PTR_ERR(data); in get_fan_target()
950 mutex_lock(&data->update_lock); in get_fan_target()
951 rpm = rpm_from_cnt(data->set_cnt, data->clk_freq, in get_fan_target()
952 G762_PULSE_FROM_REG(data->fan_cmd1), in get_fan_target()
953 G762_CLKDIV_FROM_REG(data->fan_cmd1), in get_fan_target()
954 G762_GEARMULT_FROM_REG(data->fan_cmd2)); in get_fan_target()
955 mutex_unlock(&data->update_lock); in get_fan_target()
980 struct g762_data *data = g762_update_client(dev); in get_fan_failure() local
982 if (IS_ERR(data)) in get_fan_failure()
983 return PTR_ERR(data); in get_fan_failure()
985 return sprintf(buf, "%u\n", !!(data->fan_sta & G762_REG_FAN_STA_FAIL)); in get_fan_failure()
995 struct g762_data *data = g762_update_client(dev); in get_fan_ooc() local
997 if (IS_ERR(data)) in get_fan_ooc()
998 return PTR_ERR(data); in get_fan_ooc()
1000 return sprintf(buf, "%u\n", !(data->fan_sta & G762_REG_FAN_STA_OOC)); in get_fan_ooc()
1039 struct g762_data *data = g762_update_client(dev); in g762_fan_init() local
1041 if (IS_ERR(data)) in g762_fan_init()
1042 return PTR_ERR(data); in g762_fan_init()
1044 data->fan_cmd1 |= G762_REG_FAN_CMD1_DET_FAN_FAIL; in g762_fan_init()
1045 data->fan_cmd1 |= G762_REG_FAN_CMD1_DET_FAN_OOC; in g762_fan_init()
1046 data->valid = false; in g762_fan_init()
1048 return i2c_smbus_write_byte_data(data->client, G762_REG_FAN_CMD1, in g762_fan_init()
1049 data->fan_cmd1); in g762_fan_init()
1055 struct g762_data *data; in g762_probe() local
1062 data = devm_kzalloc(dev, sizeof(struct g762_data), GFP_KERNEL); in g762_probe()
1063 if (!data) in g762_probe()
1066 i2c_set_clientdata(client, data); in g762_probe()
1067 data->client = client; in g762_probe()
1068 mutex_init(&data->update_lock); in g762_probe()
1087 data->hwmon_dev = hwmon_device_register_with_groups(dev, client->name, in g762_probe()
1088 data, g762_groups); in g762_probe()
1089 if (IS_ERR(data->hwmon_dev)) { in g762_probe()
1090 ret = PTR_ERR(data->hwmon_dev); in g762_probe()
1104 struct g762_data *data = i2c_get_clientdata(client); in g762_remove() local
1106 hwmon_device_unregister(data->hwmon_dev); in g762_remove()