Lines Matching refs:client

406 static int w83795_set_bank(struct i2c_client *client, u8 bank)  in w83795_set_bank()  argument
408 struct w83795_data *data = i2c_get_clientdata(client); in w83795_set_bank()
417 err = i2c_smbus_write_byte_data(client, W83795_REG_BANKSEL, bank); in w83795_set_bank()
419 dev_err(&client->dev, in w83795_set_bank()
430 static u8 w83795_read(struct i2c_client *client, u16 reg) in w83795_read() argument
434 err = w83795_set_bank(client, reg >> 8); in w83795_read()
438 err = i2c_smbus_read_byte_data(client, reg & 0xff); in w83795_read()
440 dev_err(&client->dev, in w83795_read()
449 static int w83795_write(struct i2c_client *client, u16 reg, u8 value) in w83795_write() argument
453 err = w83795_set_bank(client, reg >> 8); in w83795_write()
457 err = i2c_smbus_write_byte_data(client, reg & 0xff, value); in w83795_write()
459 dev_err(&client->dev, in w83795_write()
465 static void w83795_update_limits(struct i2c_client *client) in w83795_update_limits() argument
467 struct w83795_data *data = i2c_get_clientdata(client); in w83795_update_limits()
476 w83795_read(client, W83795_REG_IN[i][IN_MAX]); in w83795_update_limits()
478 w83795_read(client, W83795_REG_IN[i][IN_LOW]); in w83795_update_limits()
485 w83795_read(client, IN_LSB_REG(i, IN_MAX)); in w83795_update_limits()
487 w83795_read(client, IN_LSB_REG(i, IN_LOW)); in w83795_update_limits()
498 lsb = w83795_read(client, W83795_REG_FAN_MIN_LSB(i)); in w83795_update_limits()
503 w83795_read(client, W83795_REG_FAN_MIN_HL(i)) << 4; in w83795_update_limits()
514 w83795_read(client, W83795_REG_TEMP[i][limit]); in w83795_update_limits()
521 w83795_read(client, W83795_REG_DTS_EXT(limit)); in w83795_update_limits()
528 w83795_read(client, W83795_REG_BEEP(i)); in w83795_update_limits()
536 struct i2c_client *client = to_i2c_client(dev); in w83795_update_pwm_config() local
537 struct w83795_data *data = i2c_get_clientdata(client); in w83795_update_pwm_config()
547 data->temp_src[i] = w83795_read(client, W83795_REG_TSS(i)); in w83795_update_pwm_config()
550 data->pwm_fcms[0] = w83795_read(client, W83795_REG_FCMS1); in w83795_update_pwm_config()
551 data->pwm_fcms[1] = w83795_read(client, W83795_REG_FCMS2); in w83795_update_pwm_config()
553 data->pwm_tfmr[i] = w83795_read(client, W83795_REG_TFMR(i)); in w83795_update_pwm_config()
554 data->pwm_fomc = w83795_read(client, W83795_REG_FOMC); in w83795_update_pwm_config()
558 w83795_read(client, W83795_REG_PWM(i, tmp)); in w83795_update_pwm_config()
562 w83795_read(client, W83795_REG_FTSH(i)) << 4; in w83795_update_pwm_config()
564 w83795_read(client, W83795_REG_FTSL(i)) >> 4; in w83795_update_pwm_config()
566 data->tol_speed = w83795_read(client, W83795_REG_TFTS) & 0x3f; in w83795_update_pwm_config()
570 w83795_read(client, W83795_REG_TTTI(i)) & 0x7f; in w83795_update_pwm_config()
572 w83795_read(client, W83795_REG_CTFS(i)); in w83795_update_pwm_config()
573 tmp = w83795_read(client, W83795_REG_HT(i)); in w83795_update_pwm_config()
582 w83795_read(client, in w83795_update_pwm_config()
585 w83795_read(client, W83795_REG_SF4_PWM(i, tmp)); in w83795_update_pwm_config()
592 w83795_read(client, W83795_REG_SETUP_PWM(i)); in w83795_update_pwm_config()
603 struct i2c_client *client = to_i2c_client(dev); in w83795_update_device() local
604 struct w83795_data *data = i2c_get_clientdata(client); in w83795_update_device()
612 w83795_update_limits(client); in w83795_update_device()
622 tmp = w83795_read(client, W83795_REG_IN[i][IN_READ]) << 2; in w83795_update_device()
623 tmp |= w83795_read(client, W83795_REG_VRLSB) >> 6; in w83795_update_device()
629 u8 lsb_max = w83795_read(client, IN_LSB_REG(0, IN_MAX)); in w83795_update_device()
630 u8 lsb_low = w83795_read(client, IN_LSB_REG(0, IN_LOW)); in w83795_update_device()
636 w83795_read(client, W83795_REG_IN[i][IN_MAX]); in w83795_update_device()
638 w83795_read(client, W83795_REG_IN[i][IN_LOW]); in w83795_update_device()
648 data->fan[i] = w83795_read(client, W83795_REG_FAN(i)) << 4; in w83795_update_device()
649 data->fan[i] |= w83795_read(client, W83795_REG_VRLSB) >> 4; in w83795_update_device()
655 w83795_read(client, W83795_REG_TEMP[i][TEMP_READ]); in w83795_update_device()
657 w83795_read(client, W83795_REG_VRLSB); in w83795_update_device()
666 w83795_read(client, W83795_REG_DTS(i)); in w83795_update_device()
668 w83795_read(client, W83795_REG_VRLSB); in w83795_update_device()
675 w83795_read(client, W83795_REG_PWM(i, PWM_OUTPUT)); in w83795_update_device()
683 tmp = w83795_read(client, W83795_REG_ALARM_CTRL); in w83795_update_device()
686 w83795_write(client, W83795_REG_ALARM_CTRL, in w83795_update_device()
688 intrusion = w83795_read(client, W83795_REG_ALARM(5)) & (1 << 6); in w83795_update_device()
690 w83795_write(client, W83795_REG_ALARM_CTRL, tmp | ALARM_CTRL_RTSACS); in w83795_update_device()
692 data->alarms[i] = w83795_read(client, W83795_REG_ALARM(i)); in w83795_update_device()
696 w83795_write(client, W83795_REG_ALARM_CTRL, in w83795_update_device()
736 struct i2c_client *client = to_i2c_client(dev); in store_beep() local
737 struct w83795_data *data = i2c_get_clientdata(client); in store_beep()
751 data->beeps[index] = w83795_read(client, W83795_REG_BEEP(index)); in store_beep()
754 w83795_write(client, W83795_REG_BEEP(index), data->beeps[index]); in store_beep()
766 struct i2c_client *client = to_i2c_client(dev); in store_chassis_clear() local
767 struct w83795_data *data = i2c_get_clientdata(client); in store_chassis_clear()
774 val = w83795_read(client, W83795_REG_CLR_CHASSIS); in store_chassis_clear()
776 w83795_write(client, W83795_REG_CLR_CHASSIS, val); in store_chassis_clear()
779 w83795_read(client, W83795_REG_ALARM(5)); in store_chassis_clear()
812 struct i2c_client *client = to_i2c_client(dev); in store_fan_min() local
813 struct w83795_data *data = i2c_get_clientdata(client); in store_fan_min()
822 w83795_write(client, W83795_REG_FAN_MIN_HL(index), (val >> 4) & 0xff); in store_fan_min()
826 val |= w83795_read(client, W83795_REG_FAN_MIN_LSB(index)) in store_fan_min()
829 val |= w83795_read(client, W83795_REG_FAN_MIN_LSB(index)) in store_fan_min()
832 w83795_write(client, W83795_REG_FAN_MIN_LSB(index), val & 0xff); in store_fan_min()
870 struct i2c_client *client = to_i2c_client(dev); in store_pwm() local
871 struct w83795_data *data = i2c_get_clientdata(client); in store_pwm()
893 w83795_write(client, W83795_REG_PWM(index, nr), val); in store_pwm()
931 struct i2c_client *client = to_i2c_client(dev); in store_pwm_enable() local
957 w83795_write(client, W83795_REG_FCMS1, data->pwm_fcms[0]); in store_pwm_enable()
961 w83795_write(client, W83795_REG_TFMR(i), in store_pwm_enable()
967 w83795_write(client, W83795_REG_FCMS1, data->pwm_fcms[0]); in store_pwm_enable()
1035 struct i2c_client *client = to_i2c_client(dev); in store_temp_src() local
1064 w83795_write(client, W83795_REG_TSS(val), data->temp_src[val]); in store_temp_src()
1103 struct i2c_client *client = to_i2c_client(dev); in store_temp_pwm_enable() local
1122 w83795_write(client, W83795_REG_FCMS2, data->pwm_fcms[1]); in store_temp_pwm_enable()
1128 w83795_write(client, W83795_REG_TFMR(index), tmp); in store_temp_pwm_enable()
1164 struct i2c_client *client = to_i2c_client(dev); in store_fanin() local
1165 struct w83795_data *data = i2c_get_clientdata(client); in store_fanin()
1179 w83795_write(client, W83795_REG_FTSH(index), val >> 4); in store_fanin()
1180 w83795_write(client, W83795_REG_FTSL(index), (val << 4) & 0xf0); in store_fanin()
1185 w83795_write(client, W83795_REG_TFTS, val); in store_fanin()
1212 struct i2c_client *client = to_i2c_client(dev); in store_temp_pwm() local
1213 struct w83795_data *data = i2c_get_clientdata(client); in store_temp_pwm()
1229 w83795_write(client, W83795_REG_TTTI(index), val); in store_temp_pwm()
1233 w83795_write(client, W83795_REG_CTFS(index), val); in store_temp_pwm()
1237 tmp = w83795_read(client, W83795_REG_HT(index)); in store_temp_pwm()
1240 w83795_write(client, W83795_REG_HT(index), tmp); in store_temp_pwm()
1244 tmp = w83795_read(client, W83795_REG_HT(index)); in store_temp_pwm()
1247 w83795_write(client, W83795_REG_HT(index), tmp); in store_temp_pwm()
1272 struct i2c_client *client = to_i2c_client(dev); in store_sf4_pwm() local
1273 struct w83795_data *data = i2c_get_clientdata(client); in store_sf4_pwm()
1284 w83795_write(client, W83795_REG_SF4_PWM(index, nr), val); in store_sf4_pwm()
1308 struct i2c_client *client = to_i2c_client(dev); in store_sf4_temp() local
1309 struct w83795_data *data = i2c_get_clientdata(client); in store_sf4_temp()
1321 w83795_write(client, W83795_REG_SF4_TEMP(index, nr), val); in store_sf4_temp()
1352 struct i2c_client *client = to_i2c_client(dev); in store_temp() local
1353 struct w83795_data *data = i2c_get_clientdata(client); in store_temp()
1361 w83795_write(client, W83795_REG_TEMP[index][nr], data->temp[index][nr]); in store_temp()
1413 struct i2c_client *client = to_i2c_client(dev); in store_dts_ext() local
1414 struct w83795_data *data = i2c_get_clientdata(client); in store_dts_ext()
1422 w83795_write(client, W83795_REG_DTS_EXT(nr), data->dts_ext[nr]); in store_dts_ext()
1450 struct i2c_client *client = to_i2c_client(dev); in store_temp_mode() local
1451 struct w83795_data *data = i2c_get_clientdata(client); in store_temp_mode()
1476 tmp = w83795_read(client, W83795_REG_TEMP_CTRL2); in store_temp_mode()
1479 w83795_write(client, W83795_REG_TEMP_CTRL2, tmp); in store_temp_mode()
1529 struct i2c_client *client = to_i2c_client(dev); in store_in() local
1530 struct w83795_data *data = i2c_get_clientdata(client); in store_in()
1546 tmp = w83795_read(client, IN_LSB_REG(lsb_idx, nr)); in store_in()
1549 w83795_write(client, IN_LSB_REG(lsb_idx, nr), tmp); in store_in()
1553 w83795_write(client, W83795_REG_IN[index][nr], tmp); in store_in()
1588 struct i2c_client *client = to_i2c_client(dev); in store_sf_setup() local
1589 struct w83795_data *data = i2c_get_clientdata(client); in store_sf_setup()
1609 w83795_write(client, W83795_REG_SETUP_PWM(nr), val); in store_sf_setup()
1869 static void w83795_init_client(struct i2c_client *client) in w83795_init_client() argument
1871 struct w83795_data *data = i2c_get_clientdata(client); in w83795_init_client()
1878 w83795_write(client, W83795_REG_CONFIG, 0x80); in w83795_init_client()
1881 config = w83795_read(client, W83795_REG_CONFIG); in w83795_init_client()
1883 dev_info(&client->dev, "Enabling monitoring operations\n"); in w83795_init_client()
1884 w83795_write(client, W83795_REG_CONFIG, in w83795_init_client()
1889 dev_dbg(&client->dev, "clkin = %u kHz\n", data->clkin); in w83795_init_client()
1892 static int w83795_get_device_id(struct i2c_client *client) in w83795_get_device_id() argument
1896 device_id = i2c_smbus_read_byte_data(client, W83795_REG_DEVICEID); in w83795_get_device_id()
1905 alt_id = i2c_smbus_read_byte_data(client, in w83795_get_device_id()
1915 static int w83795_detect(struct i2c_client *client, in w83795_detect() argument
1919 struct i2c_adapter *adapter = client->adapter; in w83795_detect()
1920 unsigned short address = client->addr; in w83795_detect()
1925 bank = i2c_smbus_read_byte_data(client, W83795_REG_BANKSEL); in w83795_detect()
1934 vendor_id = i2c_smbus_read_byte_data(client, W83795_REG_VENDORID); in w83795_detect()
1944 device_id = w83795_get_device_id(client) | in w83795_detect()
1945 (i2c_smbus_read_byte_data(client, W83795_REG_CHIPID) << 8); in w83795_detect()
1958 i2c_addr = i2c_smbus_read_byte_data(client, in w83795_detect()
1975 i2c_smbus_write_byte_data(client, W83795_REG_BANKSEL, in w83795_detect()
1977 config = i2c_smbus_read_byte_data(client, W83795_REG_CONFIG); in w83795_detect()
2096 static void w83795_check_dynamic_in_limits(struct i2c_client *client) in w83795_check_dynamic_in_limits() argument
2098 struct w83795_data *data = i2c_get_clientdata(client); in w83795_check_dynamic_in_limits()
2102 vid_ctl = w83795_read(client, W83795_REG_VID_CTRL); in w83795_check_dynamic_in_limits()
2114 err_max = sysfs_chmod_file(&client->dev.kobj, in w83795_check_dynamic_in_limits()
2117 err_min = sysfs_chmod_file(&client->dev.kobj, in w83795_check_dynamic_in_limits()
2121 dev_warn(&client->dev, in w83795_check_dynamic_in_limits()
2125 dev_info(&client->dev, in w83795_check_dynamic_in_limits()
2150 static int w83795_probe(struct i2c_client *client, in w83795_probe() argument
2155 struct device *dev = &client->dev; in w83795_probe()
2163 i2c_set_clientdata(client, data); in w83795_probe()
2165 data->bank = i2c_smbus_read_byte_data(client, W83795_REG_BANKSEL); in w83795_probe()
2169 w83795_init_client(client); in w83795_probe()
2172 data->has_in = w83795_read(client, W83795_REG_VOLT_CTRL1) in w83795_probe()
2173 | (w83795_read(client, W83795_REG_VOLT_CTRL2) << 8); in w83795_probe()
2174 data->has_fan = w83795_read(client, W83795_REG_FANIN_CTRL1) in w83795_probe()
2175 | (w83795_read(client, W83795_REG_FANIN_CTRL2) << 8); in w83795_probe()
2178 tmp = w83795_read(client, W83795_REG_TEMP_CTRL1); in w83795_probe()
2183 tmp = w83795_read(client, W83795_REG_TEMP_CTRL2); in w83795_probe()
2191 if (1 & w83795_read(client, W83795_REG_DTSC)) in w83795_probe()
2193 data->has_dts = w83795_read(client, W83795_REG_DTSE); in w83795_probe()
2201 tmp = w83795_read(client, W83795_REG_PECI_TBASE(i)); in w83795_probe()
2202 dev_info(&client->dev, in w83795_probe()
2208 data->has_gain = w83795_read(client, W83795_REG_VMIGB_CTRL) & 0x0f; in w83795_probe()
2225 tmp = w83795_read(client, W83795_REG_OVT_CFG); in w83795_probe()
2235 w83795_check_dynamic_in_limits(client); in w83795_probe()
2250 static int w83795_remove(struct i2c_client *client) in w83795_remove() argument
2252 struct w83795_data *data = i2c_get_clientdata(client); in w83795_remove()
2255 w83795_handle_files(&client->dev, device_remove_file_wrapper); in w83795_remove()