Lines Matching refs:data

211 	struct g762_data *data = dev_get_drvdata(dev);  in g762_update_client()  local
212 struct i2c_client *client = data->client; in g762_update_client()
215 mutex_lock(&data->update_lock); in g762_update_client()
216 if (time_before(jiffies, data->last_updated + G762_UPDATE_INTERVAL) && in g762_update_client()
217 likely(data->valid)) in g762_update_client()
223 data->set_cnt = ret; in g762_update_client()
228 data->act_cnt = ret; in g762_update_client()
233 data->fan_sta = ret; in g762_update_client()
238 data->set_out = ret; in g762_update_client()
243 data->fan_cmd1 = ret; in g762_update_client()
248 data->fan_cmd2 = ret; in g762_update_client()
250 data->last_updated = jiffies; in g762_update_client()
251 data->valid = true; in g762_update_client()
253 mutex_unlock(&data->update_lock); in g762_update_client()
256 data = ERR_PTR(ret); in g762_update_client()
258 return data; in g762_update_client()
271 struct g762_data *data = dev_get_drvdata(dev); in do_set_clk_freq() local
278 data->clk_freq = val; in do_set_clk_freq()
286 struct g762_data *data = g762_update_client(dev); in do_set_pwm_mode() local
289 if (IS_ERR(data)) in do_set_pwm_mode()
290 return PTR_ERR(data); in do_set_pwm_mode()
292 mutex_lock(&data->update_lock); in do_set_pwm_mode()
295 data->fan_cmd1 |= G762_REG_FAN_CMD1_OUT_MODE; in do_set_pwm_mode()
298 data->fan_cmd1 &= ~G762_REG_FAN_CMD1_OUT_MODE; in do_set_pwm_mode()
304 ret = i2c_smbus_write_byte_data(data->client, G762_REG_FAN_CMD1, in do_set_pwm_mode()
305 data->fan_cmd1); in do_set_pwm_mode()
306 data->valid = false; in do_set_pwm_mode()
308 mutex_unlock(&data->update_lock); in do_set_pwm_mode()
316 struct g762_data *data = g762_update_client(dev); in do_set_fan_div() local
319 if (IS_ERR(data)) in do_set_fan_div()
320 return PTR_ERR(data); in do_set_fan_div()
322 mutex_lock(&data->update_lock); in do_set_fan_div()
325 data->fan_cmd1 &= ~G762_REG_FAN_CMD1_CLK_DIV_ID0; in do_set_fan_div()
326 data->fan_cmd1 &= ~G762_REG_FAN_CMD1_CLK_DIV_ID1; in do_set_fan_div()
329 data->fan_cmd1 |= G762_REG_FAN_CMD1_CLK_DIV_ID0; in do_set_fan_div()
330 data->fan_cmd1 &= ~G762_REG_FAN_CMD1_CLK_DIV_ID1; in do_set_fan_div()
333 data->fan_cmd1 &= ~G762_REG_FAN_CMD1_CLK_DIV_ID0; in do_set_fan_div()
334 data->fan_cmd1 |= G762_REG_FAN_CMD1_CLK_DIV_ID1; in do_set_fan_div()
337 data->fan_cmd1 |= G762_REG_FAN_CMD1_CLK_DIV_ID0; in do_set_fan_div()
338 data->fan_cmd1 |= G762_REG_FAN_CMD1_CLK_DIV_ID1; in do_set_fan_div()
344 ret = i2c_smbus_write_byte_data(data->client, G762_REG_FAN_CMD1, in do_set_fan_div()
345 data->fan_cmd1); in do_set_fan_div()
346 data->valid = false; in do_set_fan_div()
348 mutex_unlock(&data->update_lock); in do_set_fan_div()
356 struct g762_data *data = g762_update_client(dev); in do_set_fan_gear_mode() local
359 if (IS_ERR(data)) in do_set_fan_gear_mode()
360 return PTR_ERR(data); in do_set_fan_gear_mode()
362 mutex_lock(&data->update_lock); in do_set_fan_gear_mode()
365 data->fan_cmd2 &= ~G762_REG_FAN_CMD2_GEAR_MODE_0; in do_set_fan_gear_mode()
366 data->fan_cmd2 &= ~G762_REG_FAN_CMD2_GEAR_MODE_1; in do_set_fan_gear_mode()
369 data->fan_cmd2 |= G762_REG_FAN_CMD2_GEAR_MODE_0; in do_set_fan_gear_mode()
370 data->fan_cmd2 &= ~G762_REG_FAN_CMD2_GEAR_MODE_1; in do_set_fan_gear_mode()
373 data->fan_cmd2 &= ~G762_REG_FAN_CMD2_GEAR_MODE_0; in do_set_fan_gear_mode()
374 data->fan_cmd2 |= G762_REG_FAN_CMD2_GEAR_MODE_1; in do_set_fan_gear_mode()
380 ret = i2c_smbus_write_byte_data(data->client, G762_REG_FAN_CMD2, in do_set_fan_gear_mode()
381 data->fan_cmd2); in do_set_fan_gear_mode()
382 data->valid = false; in do_set_fan_gear_mode()
384 mutex_unlock(&data->update_lock); in do_set_fan_gear_mode()
392 struct g762_data *data = g762_update_client(dev); in do_set_fan_pulses() local
395 if (IS_ERR(data)) in do_set_fan_pulses()
396 return PTR_ERR(data); in do_set_fan_pulses()
398 mutex_lock(&data->update_lock); in do_set_fan_pulses()
401 data->fan_cmd1 &= ~G762_REG_FAN_CMD1_PULSE_PER_REV; in do_set_fan_pulses()
404 data->fan_cmd1 |= G762_REG_FAN_CMD1_PULSE_PER_REV; in do_set_fan_pulses()
410 ret = i2c_smbus_write_byte_data(data->client, G762_REG_FAN_CMD1, in do_set_fan_pulses()
411 data->fan_cmd1); in do_set_fan_pulses()
412 data->valid = false; in do_set_fan_pulses()
414 mutex_unlock(&data->update_lock); in do_set_fan_pulses()
422 struct g762_data *data = g762_update_client(dev); in do_set_pwm_enable() local
425 if (IS_ERR(data)) in do_set_pwm_enable()
426 return PTR_ERR(data); in do_set_pwm_enable()
428 mutex_lock(&data->update_lock); in do_set_pwm_enable()
431 data->fan_cmd1 |= G762_REG_FAN_CMD1_FAN_MODE; in do_set_pwm_enable()
434 data->fan_cmd1 &= ~G762_REG_FAN_CMD1_FAN_MODE; in do_set_pwm_enable()
442 if (data->set_cnt == 0xff) in do_set_pwm_enable()
443 i2c_smbus_write_byte_data(data->client, in do_set_pwm_enable()
451 ret = i2c_smbus_write_byte_data(data->client, G762_REG_FAN_CMD1, in do_set_pwm_enable()
452 data->fan_cmd1); in do_set_pwm_enable()
453 data->valid = false; in do_set_pwm_enable()
455 mutex_unlock(&data->update_lock); in do_set_pwm_enable()
463 struct g762_data *data = g762_update_client(dev); in do_set_pwm_polarity() local
466 if (IS_ERR(data)) in do_set_pwm_polarity()
467 return PTR_ERR(data); in do_set_pwm_polarity()
469 mutex_lock(&data->update_lock); in do_set_pwm_polarity()
472 data->fan_cmd1 &= ~G762_REG_FAN_CMD1_PWM_POLARITY; in do_set_pwm_polarity()
475 data->fan_cmd1 |= G762_REG_FAN_CMD1_PWM_POLARITY; in do_set_pwm_polarity()
481 ret = i2c_smbus_write_byte_data(data->client, G762_REG_FAN_CMD1, in do_set_pwm_polarity()
482 data->fan_cmd1); in do_set_pwm_polarity()
483 data->valid = false; in do_set_pwm_polarity()
485 mutex_unlock(&data->update_lock); in do_set_pwm_polarity()
496 struct g762_data *data = dev_get_drvdata(dev); in do_set_pwm() local
497 struct i2c_client *client = data->client; in do_set_pwm()
503 mutex_lock(&data->update_lock); in do_set_pwm()
505 data->valid = false; in do_set_pwm()
506 mutex_unlock(&data->update_lock); in do_set_pwm()
517 struct g762_data *data = g762_update_client(dev); in do_set_fan_target() local
520 if (IS_ERR(data)) in do_set_fan_target()
521 return PTR_ERR(data); in do_set_fan_target()
523 mutex_lock(&data->update_lock); in do_set_fan_target()
524 data->set_cnt = cnt_from_rpm(val, data->clk_freq, in do_set_fan_target()
525 G762_PULSE_FROM_REG(data->fan_cmd1), in do_set_fan_target()
526 G762_CLKDIV_FROM_REG(data->fan_cmd1), in do_set_fan_target()
527 G762_GEARMULT_FROM_REG(data->fan_cmd2)); in do_set_fan_target()
528 ret = i2c_smbus_write_byte_data(data->client, G762_REG_SET_CNT, in do_set_fan_target()
529 data->set_cnt); in do_set_fan_target()
530 data->valid = false; in do_set_fan_target()
531 mutex_unlock(&data->update_lock); in do_set_fan_target()
539 struct g762_data *data = g762_update_client(dev); in do_set_fan_startv() local
542 if (IS_ERR(data)) in do_set_fan_startv()
543 return PTR_ERR(data); in do_set_fan_startv()
545 mutex_lock(&data->update_lock); in do_set_fan_startv()
548 data->fan_cmd2 &= ~G762_REG_FAN_CMD2_FAN_STARTV_0; in do_set_fan_startv()
549 data->fan_cmd2 &= ~G762_REG_FAN_CMD2_FAN_STARTV_1; in do_set_fan_startv()
552 data->fan_cmd2 |= G762_REG_FAN_CMD2_FAN_STARTV_0; in do_set_fan_startv()
553 data->fan_cmd2 &= ~G762_REG_FAN_CMD2_FAN_STARTV_1; in do_set_fan_startv()
556 data->fan_cmd2 &= ~G762_REG_FAN_CMD2_FAN_STARTV_0; in do_set_fan_startv()
557 data->fan_cmd2 |= G762_REG_FAN_CMD2_FAN_STARTV_1; in do_set_fan_startv()
560 data->fan_cmd2 |= G762_REG_FAN_CMD2_FAN_STARTV_0; in do_set_fan_startv()
561 data->fan_cmd2 |= G762_REG_FAN_CMD2_FAN_STARTV_1; in do_set_fan_startv()
567 ret = i2c_smbus_write_byte_data(data->client, G762_REG_FAN_CMD2, in do_set_fan_startv()
568 data->fan_cmd2); in do_set_fan_startv()
569 data->valid = false; in do_set_fan_startv()
571 mutex_unlock(&data->update_lock); in do_set_fan_startv()
596 static void g762_of_clock_disable(void *data) in g762_of_clock_disable() argument
598 struct g762_data *g762 = data; in g762_of_clock_disable()
606 struct g762_data *data; in g762_of_clock_enable() local
633 data = i2c_get_clientdata(client); in g762_of_clock_enable()
634 data->clk = clk; in g762_of_clock_enable()
636 devm_add_action(&client->dev, g762_of_clock_disable, data); in g762_of_clock_enable()
739 struct g762_data *data = g762_update_client(dev); in fan1_input_show() local
742 if (IS_ERR(data)) in fan1_input_show()
743 return PTR_ERR(data); in fan1_input_show()
745 mutex_lock(&data->update_lock); in fan1_input_show()
747 if (data->fan_sta & G762_REG_FAN_STA_OOC) { in fan1_input_show()
748 rpm = rpm_from_cnt(data->act_cnt, data->clk_freq, in fan1_input_show()
749 G762_PULSE_FROM_REG(data->fan_cmd1), in fan1_input_show()
750 G762_CLKDIV_FROM_REG(data->fan_cmd1), in fan1_input_show()
751 G762_GEARMULT_FROM_REG(data->fan_cmd2)); in fan1_input_show()
753 mutex_unlock(&data->update_lock); in fan1_input_show()
765 struct g762_data *data = g762_update_client(dev); in pwm1_mode_show() local
767 if (IS_ERR(data)) in pwm1_mode_show()
768 return PTR_ERR(data); in pwm1_mode_show()
771 !!(data->fan_cmd1 & G762_REG_FAN_CMD1_OUT_MODE)); in pwm1_mode_show()
798 struct g762_data *data = g762_update_client(dev); in fan1_div_show() local
800 if (IS_ERR(data)) in fan1_div_show()
801 return PTR_ERR(data); in fan1_div_show()
803 return sprintf(buf, "%d\n", G762_CLKDIV_FROM_REG(data->fan_cmd1)); in fan1_div_show()
829 struct g762_data *data = g762_update_client(dev); in fan1_pulses_show() local
831 if (IS_ERR(data)) in fan1_pulses_show()
832 return PTR_ERR(data); in fan1_pulses_show()
834 return sprintf(buf, "%d\n", G762_PULSE_FROM_REG(data->fan_cmd1)); in fan1_pulses_show()
871 struct g762_data *data = g762_update_client(dev); in pwm1_enable_show() local
873 if (IS_ERR(data)) in pwm1_enable_show()
874 return PTR_ERR(data); in pwm1_enable_show()
877 (!!(data->fan_cmd1 & G762_REG_FAN_CMD1_FAN_MODE)) + 1); in pwm1_enable_show()
905 struct g762_data *data = g762_update_client(dev); in pwm1_show() local
907 if (IS_ERR(data)) in pwm1_show()
908 return PTR_ERR(data); in pwm1_show()
910 return sprintf(buf, "%d\n", data->set_out); in pwm1_show()
943 struct g762_data *data = g762_update_client(dev); in fan1_target_show() local
946 if (IS_ERR(data)) in fan1_target_show()
947 return PTR_ERR(data); in fan1_target_show()
949 mutex_lock(&data->update_lock); in fan1_target_show()
950 rpm = rpm_from_cnt(data->set_cnt, data->clk_freq, in fan1_target_show()
951 G762_PULSE_FROM_REG(data->fan_cmd1), in fan1_target_show()
952 G762_CLKDIV_FROM_REG(data->fan_cmd1), in fan1_target_show()
953 G762_GEARMULT_FROM_REG(data->fan_cmd2)); in fan1_target_show()
954 mutex_unlock(&data->update_lock); in fan1_target_show()
980 struct g762_data *data = g762_update_client(dev); in fan1_fault_show() local
982 if (IS_ERR(data)) in fan1_fault_show()
983 return PTR_ERR(data); in fan1_fault_show()
985 return sprintf(buf, "%u\n", !!(data->fan_sta & G762_REG_FAN_STA_FAIL)); in fan1_fault_show()
995 struct g762_data *data = g762_update_client(dev); in fan1_alarm_show() local
997 if (IS_ERR(data)) in fan1_alarm_show()
998 return PTR_ERR(data); in fan1_alarm_show()
1000 return sprintf(buf, "%u\n", !(data->fan_sta & G762_REG_FAN_STA_OOC)); in fan1_alarm_show()
1036 struct g762_data *data = g762_update_client(dev); in g762_fan_init() local
1038 if (IS_ERR(data)) in g762_fan_init()
1039 return PTR_ERR(data); in g762_fan_init()
1041 data->fan_cmd1 |= G762_REG_FAN_CMD1_DET_FAN_FAIL; in g762_fan_init()
1042 data->fan_cmd1 |= G762_REG_FAN_CMD1_DET_FAN_OOC; in g762_fan_init()
1043 data->valid = false; in g762_fan_init()
1045 return i2c_smbus_write_byte_data(data->client, G762_REG_FAN_CMD1, in g762_fan_init()
1046 data->fan_cmd1); in g762_fan_init()
1053 struct g762_data *data; in g762_probe() local
1060 data = devm_kzalloc(dev, sizeof(struct g762_data), GFP_KERNEL); in g762_probe()
1061 if (!data) in g762_probe()
1064 i2c_set_clientdata(client, data); in g762_probe()
1065 data->client = client; in g762_probe()
1066 mutex_init(&data->update_lock); in g762_probe()
1086 data, g762_groups); in g762_probe()