Lines Matching defs:client
195 static inline int w83791d_read(struct i2c_client *client, u8 reg)
197 return i2c_smbus_read_byte_data(client, reg);
200 static inline int w83791d_write(struct i2c_client *client, u8 reg, u8 value)
202 return i2c_smbus_write_byte_data(client, reg, value);
315 static int w83791d_probe(struct i2c_client *client);
316 static int w83791d_detect(struct i2c_client *client,
318 static void w83791d_remove(struct i2c_client *client);
320 static int w83791d_read(struct i2c_client *client, u8 reg);
321 static int w83791d_write(struct i2c_client *client, u8 reg, u8 value);
328 static void w83791d_init_client(struct i2c_client *client);
371 struct i2c_client *client = to_i2c_client(dev); \
372 struct w83791d_data *data = i2c_get_clientdata(client); \
380 w83791d_write(client, W83791D_REG_IN_##REG[nr], data->in_##reg[nr]); \
444 struct i2c_client *client = to_i2c_client(dev);
445 struct w83791d_data *data = i2c_get_clientdata(client);
460 data->beep_mask |= w83791d_read(client, W83791D_REG_BEEP_CTRL[bytenr])
466 w83791d_write(client, W83791D_REG_BEEP_CTRL[bytenr],
534 struct i2c_client *client = to_i2c_client(dev);
535 struct w83791d_data *data = i2c_get_clientdata(client);
546 w83791d_write(client, W83791D_REG_FAN_MIN[nr], data->fan_min[nr]);
571 struct i2c_client *client = to_i2c_client(dev);
572 struct w83791d_data *data = i2c_get_clientdata(client);
628 fan_div_reg = w83791d_read(client, W83791D_REG_FAN_DIV[indx])
632 w83791d_write(client, W83791D_REG_FAN_DIV[indx],
638 vbat_reg = w83791d_read(client, W83791D_REG_VBAT)
641 w83791d_write(client, W83791D_REG_VBAT,
647 w83791d_write(client, W83791D_REG_FAN_MIN[nr], data->fan_min[nr]);
721 struct i2c_client *client = to_i2c_client(dev);
722 struct w83791d_data *data = i2c_get_clientdata(client);
731 w83791d_write(client, W83791D_REG_PWM[nr], data->pwm[nr]);
762 struct i2c_client *client = to_i2c_client(dev);
763 struct w83791d_data *data = i2c_get_clientdata(client);
796 reg_cfg_tmp = w83791d_read(client, W83791D_REG_FAN_CFG[reg_idx]);
800 w83791d_write(client, W83791D_REG_FAN_CFG[reg_idx], reg_cfg_tmp);
828 struct i2c_client *client = to_i2c_client(dev);
829 struct w83791d_data *data = i2c_get_clientdata(client);
839 target_mask = w83791d_read(client,
841 w83791d_write(client, W83791D_REG_TEMP_TARGET[nr],
869 struct i2c_client *client = to_i2c_client(dev);
870 struct w83791d_data *data = i2c_get_clientdata(client);
901 target_mask = w83791d_read(client,
903 w83791d_write(client, W83791D_REG_TEMP_TOL[reg_idx],
931 struct i2c_client *client = to_i2c_client(dev);
932 struct w83791d_data *data = i2c_get_clientdata(client);
943 w83791d_write(client, W83791D_REG_TEMP1[nr], data->temp1[nr]);
964 struct i2c_client *client = to_i2c_client(dev);
965 struct w83791d_data *data = i2c_get_clientdata(client);
977 w83791d_write(client, W83791D_REG_TEMP_ADD[nr][index * 2],
979 w83791d_write(client, W83791D_REG_TEMP_ADD[nr][index * 2 + 1],
1060 struct i2c_client *client = to_i2c_client(dev);
1061 struct w83791d_data *data = i2c_get_clientdata(client);
1082 w83791d_write(client, W83791D_REG_BEEP_CTRL[i], (val & 0xff));
1095 struct i2c_client *client = to_i2c_client(dev);
1096 struct w83791d_data *data = i2c_get_clientdata(client);
1118 w83791d_write(client, W83791D_REG_BEEP_CTRL[1], val);
1254 static int w83791d_detect_subclients(struct i2c_client *client)
1256 struct i2c_adapter *adapter = client->adapter;
1257 int address = client->addr;
1266 dev_err(&client->dev,
1273 w83791d_write(client, W83791D_REG_I2C_SUBADDR,
1278 val = w83791d_read(client, W83791D_REG_I2C_SUBADDR);
1281 dev_err(&client->dev,
1287 devm_i2c_new_dummy_device(&client->dev, adapter, 0x48 + (val & 0x7));
1290 devm_i2c_new_dummy_device(&client->dev, adapter, 0x48 + ((val >> 4) & 0x7));
1297 static int w83791d_detect(struct i2c_client *client,
1300 struct i2c_adapter *adapter = client->adapter;
1302 unsigned short address = client->addr;
1307 if (w83791d_read(client, W83791D_REG_CONFIG) & 0x80)
1310 val1 = w83791d_read(client, W83791D_REG_BANK);
1311 val2 = w83791d_read(client, W83791D_REG_CHIPMAN);
1323 if (w83791d_read(client, W83791D_REG_I2C_ADDR) != address)
1327 val1 = w83791d_read(client, W83791D_REG_BANK) & 0x78;
1328 w83791d_write(client, W83791D_REG_BANK, val1 | 0x80);
1331 val1 = w83791d_read(client, W83791D_REG_WCHIPID);
1332 val2 = w83791d_read(client, W83791D_REG_CHIPMAN);
1341 static int w83791d_probe(struct i2c_client *client)
1344 struct device *dev = &client->dev;
1350 val1 = w83791d_read(client, W83791D_REG_DID_VID4);
1355 data = devm_kzalloc(&client->dev, sizeof(struct w83791d_data),
1360 i2c_set_clientdata(client, data);
1363 err = w83791d_detect_subclients(client);
1368 w83791d_init_client(client);
1375 data->fan_min[i] = w83791d_read(client, W83791D_REG_FAN_MIN[i]);
1378 err = sysfs_create_group(&client->dev.kobj, &w83791d_group);
1383 has_fanpwm45 = w83791d_read(client, W83791D_REG_GPIO) & 0x10;
1385 err = sysfs_create_group(&client->dev.kobj,
1402 sysfs_remove_group(&client->dev.kobj, &w83791d_group_fanpwm45);
1404 sysfs_remove_group(&client->dev.kobj, &w83791d_group);
1408 static void w83791d_remove(struct i2c_client *client)
1410 struct w83791d_data *data = i2c_get_clientdata(client);
1413 sysfs_remove_group(&client->dev.kobj, &w83791d_group);
1416 static void w83791d_init_client(struct i2c_client *client)
1418 struct w83791d_data *data = i2c_get_clientdata(client);
1438 old_beep = w83791d_read(client, W83791D_REG_BEEP_CONFIG);
1442 w83791d_write(client, W83791D_REG_CONFIG, 0x80);
1446 w83791d_write(client, W83791D_REG_BEEP_CONFIG, old_beep | 0x80);
1449 tmp = w83791d_read(client, W83791D_REG_BEEP_CTRL[1]);
1450 w83791d_write(client, W83791D_REG_BEEP_CTRL[1], tmp & 0xef);
1454 tmp = w83791d_read(client, W83791D_REG_TEMP2_CONFIG);
1456 w83791d_write(client, W83791D_REG_TEMP2_CONFIG,
1460 tmp = w83791d_read(client, W83791D_REG_TEMP3_CONFIG);
1462 w83791d_write(client, W83791D_REG_TEMP3_CONFIG,
1467 tmp = w83791d_read(client, W83791D_REG_CONFIG) & 0xf7;
1468 w83791d_write(client, W83791D_REG_CONFIG, tmp | 0x01);
1477 struct i2c_client *client = to_i2c_client(dev);
1478 struct w83791d_data *data = i2c_get_clientdata(client);
1491 data->in[i] = w83791d_read(client,
1493 data->in_max[i] = w83791d_read(client,
1495 data->in_min[i] = w83791d_read(client,
1502 data->fan[i] = w83791d_read(client,
1504 data->fan_min[i] = w83791d_read(client,
1510 reg_array_tmp[i] = w83791d_read(client,
1523 vbat_reg = w83791d_read(client, W83791D_REG_VBAT);
1529 data->pwm[i] = w83791d_read(client,
1535 reg_array_tmp[i] = w83791d_read(client,
1544 data->temp_target[i] = w83791d_read(client,
1550 reg_array_tmp[i] = w83791d_read(client,
1559 data->temp1[i] = w83791d_read(client,
1567 (w83791d_read(client,
1569 w83791d_read(client,
1576 w83791d_read(client, W83791D_REG_ALARM1) +
1577 (w83791d_read(client, W83791D_REG_ALARM2) << 8) +
1578 (w83791d_read(client, W83791D_REG_ALARM3) << 16);
1582 w83791d_read(client, W83791D_REG_BEEP_CTRL[0]) +
1583 (w83791d_read(client, W83791D_REG_BEEP_CTRL[1]) << 8) +
1584 (w83791d_read(client, W83791D_REG_BEEP_CTRL[2]) << 16);
1591 i = w83791d_read(client, W83791D_REG_VID_FANDIV);
1593 data->vid |= (w83791d_read(client, W83791D_REG_DID_VID4) & 0x01)