Lines Matching refs:client

197 	struct i2c_client *client;
202 /* client update function */
798 static u8 lm93_read_byte(struct i2c_client *client, u8 reg)
804 value = i2c_smbus_read_byte_data(client, reg);
808 dev_warn(&client->dev,
817 dev_err(&client->dev, "lm93: All read byte retries failed!!\n");
821 static int lm93_write_byte(struct i2c_client *client, u8 reg, u8 value)
826 result = i2c_smbus_write_byte_data(client, reg, value);
829 dev_warn(&client->dev,
836 static u16 lm93_read_word(struct i2c_client *client, u8 reg)
842 value = i2c_smbus_read_word_data(client, reg);
846 dev_warn(&client->dev,
855 dev_err(&client->dev, "lm93: All read word retries failed!!\n");
859 static int lm93_write_word(struct i2c_client *client, u8 reg, u16 value)
864 result = i2c_smbus_write_word_data(client, reg, value);
867 dev_warn(&client->dev,
881 static void lm93_read_block(struct i2c_client *client, u8 fbn, u8 *values)
886 result = i2c_smbus_read_block_data(client,
892 dev_warn(&client->dev,
910 struct i2c_client *client = data->client;
918 data->update(data, client);
929 struct i2c_client *client)
937 lm93_read_byte(client, LM93_REG_TEMP_MIN(i));
939 lm93_read_byte(client, LM93_REG_TEMP_MAX(i));
943 data->config = lm93_read_byte(client, LM93_REG_CONFIG);
947 data->vid[i] = lm93_read_byte(client, LM93_REG_VID(i));
951 data->prochot_max[i] = lm93_read_byte(client,
956 data->vccp_limits[i] = lm93_read_byte(client,
960 data->gpi = lm93_read_byte(client, LM93_REG_GPI);
963 data->prochot_override = lm93_read_byte(client,
967 data->prochot_interval = lm93_read_byte(client,
972 data->boost[i] = lm93_read_byte(client, LM93_REG_BOOST(i));
975 data->boost_hyst[0] = lm93_read_byte(client, LM93_REG_BOOST_HYST_12);
976 data->boost_hyst[1] = lm93_read_byte(client, LM93_REG_BOOST_HYST_34);
980 lm93_read_byte(client, LM93_REG_PWM_MIN_HYST_12);
982 lm93_read_byte(client, LM93_REG_PWM_MIN_HYST_34);
985 data->pwm_ramp_ctl = lm93_read_byte(client, LM93_REG_PWM_RAMP_CTL);
988 data->sfc1 = lm93_read_byte(client, LM93_REG_SFC1);
989 data->sfc2 = lm93_read_byte(client, LM93_REG_SFC2);
990 data->sf_tach_to_pwm = lm93_read_byte(client,
995 lm93_write_byte(client, LM93_REG_HOST_ERROR_1 + i, *(ptr + i));
1000 struct i2c_client *client)
1002 dev_dbg(&client->dev, "starting device update (block data enabled)\n");
1005 lm93_read_block(client, 3, (u8 *)(data->block3));
1006 lm93_read_block(client, 7, (u8 *)(data->block7));
1009 lm93_read_block(client, 2, (u8 *)(data->block2));
1012 lm93_read_block(client, 4, (u8 *)(data->block4));
1015 lm93_read_block(client, 5, (u8 *)(data->block5));
1016 lm93_read_block(client, 8, (u8 *)(data->block8));
1019 lm93_read_block(client, 9, (u8 *)(data->block9));
1022 lm93_read_block(client, 1, (u8 *)(&data->block1));
1025 lm93_read_block(client, 10, (u8 *)(&data->block10));
1027 lm93_update_client_common(data, client);
1032 struct i2c_client *client)
1037 dev_dbg(&client->dev, "starting device update (block data disabled)\n");
1042 lm93_read_byte(client, LM93_REG_IN(i));
1044 lm93_read_byte(client, LM93_REG_IN_MIN(i));
1046 lm93_read_byte(client, LM93_REG_IN_MAX(i));
1052 lm93_read_byte(client, LM93_REG_TEMP(i));
1058 lm93_read_byte(client, LM93_REG_PROCHOT_CUR(i));
1060 lm93_read_byte(client, LM93_REG_PROCHOT_AVG(i));
1066 lm93_read_word(client, LM93_REG_FAN(i));
1068 lm93_read_word(client, LM93_REG_FAN_MIN(i));
1075 lm93_read_byte(client, LM93_REG_PWM_CTL(i, j));
1082 lm93_read_byte(client, LM93_REG_HOST_ERROR_1 + i);
1088 lm93_read_byte(client, LM93_REG_TEMP_BASE(i));
1094 lm93_read_byte(client, LM93_REG_TEMP_OFFSET(i));
1097 lm93_update_client_common(data, client);
1149 struct i2c_client *client = data->client;
1164 lm93_write_byte(client, LM93_REG_VCCP_LIMIT_OFF(vccp),
1168 lm93_write_byte(client, LM93_REG_IN_MIN(nr),
1214 struct i2c_client *client = data->client;
1229 lm93_write_byte(client, LM93_REG_VCCP_LIMIT_OFF(vccp),
1233 lm93_write_byte(client, LM93_REG_IN_MAX(nr),
1283 struct i2c_client *client = data->client;
1293 lm93_write_byte(client, LM93_REG_TEMP_MIN(nr), data->temp_lim[nr].min);
1316 struct i2c_client *client = data->client;
1326 lm93_write_byte(client, LM93_REG_TEMP_MAX(nr), data->temp_lim[nr].max);
1349 struct i2c_client *client = data->client;
1359 lm93_write_byte(client, LM93_REG_TEMP_BASE(nr), data->block10.base[nr]);
1382 struct i2c_client *client = data->client;
1392 lm93_write_byte(client, LM93_REG_BOOST(nr), data->boost[nr]);
1418 struct i2c_client *client = data->client;
1428 data->sfc2 = lm93_read_byte(client, LM93_REG_SFC2);
1430 lm93_write_byte(client, LM93_REG_SFC2, data->sfc2);
1432 lm93_write_byte(client, LM93_REG_BOOST_HYST(nr),
1463 struct i2c_client *client = data->client;
1473 data->sfc2 = lm93_read_byte(client, LM93_REG_SFC2);
1475 lm93_write_byte(client, LM93_REG_SFC2, data->sfc2);
1478 lm93_write_byte(client, LM93_REG_TEMP_OFFSET(ofs),
1540 struct i2c_client *client = data->client;
1550 reg = lm93_read_byte(client, LM93_REG_PWM_MIN_HYST(nr));
1551 ctl4 = lm93_read_byte(client, LM93_REG_PWM_CTL(nr, LM93_PWM_CTL4));
1557 lm93_write_byte(client, LM93_REG_PWM_MIN_HYST(nr), reg);
1583 struct i2c_client *client = data->client;
1594 data->sfc2 = lm93_read_byte(client, LM93_REG_SFC2);
1596 lm93_write_byte(client, LM93_REG_SFC2, data->sfc2);
1600 lm93_write_byte(client, LM93_REG_PWM_MIN_HYST(nr), reg);
1639 struct i2c_client *client = data->client;
1649 lm93_write_word(client, LM93_REG_FAN_MIN(nr), data->block8[nr]);
1694 static void lm93_write_fan_smart_tach(struct i2c_client *client,
1698 data->sf_tach_to_pwm = lm93_read_byte(client, LM93_REG_SF_TACH_TO_PWM);
1701 lm93_write_byte(client, LM93_REG_SF_TACH_TO_PWM, data->sf_tach_to_pwm);
1704 data->sfc2 = lm93_read_byte(client, LM93_REG_SFC2);
1709 lm93_write_byte(client, LM93_REG_SFC2, data->sfc2);
1718 struct i2c_client *client = data->client;
1731 u8 ctl4 = lm93_read_byte(client,
1736 lm93_write_fan_smart_tach(client, data, nr, val);
1770 struct i2c_client *client = data->client;
1780 ctl2 = lm93_read_byte(client, LM93_REG_PWM_CTL(nr, LM93_PWM_CTL2));
1781 ctl4 = lm93_read_byte(client, LM93_REG_PWM_CTL(nr, LM93_PWM_CTL4));
1788 lm93_write_byte(client, LM93_REG_PWM_CTL(nr, LM93_PWM_CTL2), ctl2);
1818 struct i2c_client *client = data->client;
1828 ctl2 = lm93_read_byte(client, LM93_REG_PWM_CTL(nr, LM93_PWM_CTL2));
1845 lm93_write_byte(client, LM93_REG_PWM_CTL(nr, LM93_PWM_CTL2), ctl2);
1869 static void lm93_disable_fan_smart_tach(struct i2c_client *client,
1872 int mapping = lm93_read_byte(client, LM93_REG_SF_TACH_TO_PWM);
1883 data->sfc2 = lm93_read_byte(client, LM93_REG_SFC2);
1885 lm93_write_byte(client, LM93_REG_SFC2, data->sfc2);
1894 struct i2c_client *client = data->client;
1904 ctl4 = lm93_read_byte(client, LM93_REG_PWM_CTL(nr, LM93_PWM_CTL4));
1909 lm93_disable_fan_smart_tach(client, data, nr);
1910 lm93_write_byte(client, LM93_REG_PWM_CTL(nr, LM93_PWM_CTL4), ctl4);
1933 struct i2c_client *client = data->client;
1943 lm93_write_byte(client, LM93_REG_PWM_CTL(nr, LM93_PWM_CTL1),
1973 struct i2c_client *client = data->client;
1983 ctl3 = lm93_read_byte(client, LM93_REG_PWM_CTL(nr, LM93_PWM_CTL3));
1984 ctl4 = lm93_read_byte(client, LM93_REG_PWM_CTL(nr, LM93_PWM_CTL4));
1989 lm93_write_byte(client, LM93_REG_PWM_CTL(nr, LM93_PWM_CTL3), ctl3);
2013 struct i2c_client *client = data->client;
2023 ctl3 = lm93_read_byte(client, LM93_REG_PWM_CTL(nr, LM93_PWM_CTL3));
2026 lm93_write_byte(client, LM93_REG_PWM_CTL(nr, LM93_PWM_CTL3), ctl3);
2047 struct i2c_client *client = data->client;
2057 ramp = lm93_read_byte(client, LM93_REG_PWM_RAMP_CTL);
2059 lm93_write_byte(client, LM93_REG_PWM_RAMP_CTL, ramp);
2079 struct i2c_client *client = data->client;
2089 ramp = lm93_read_byte(client, LM93_REG_PWM_RAMP_CTL);
2091 lm93_write_byte(client, LM93_REG_PWM_RAMP_CTL, ramp);
2145 struct i2c_client *client = data->client;
2155 lm93_write_byte(client, LM93_REG_PROCHOT_MAX(nr),
2181 struct i2c_client *client = data->client;
2194 lm93_write_byte(client, LM93_REG_PROCHOT_OVERRIDE,
2222 struct i2c_client *client = data->client;
2232 tmp = lm93_read_byte(client, LM93_REG_PROCHOT_INTERVAL);
2238 lm93_write_byte(client, LM93_REG_PROCHOT_INTERVAL, tmp);
2259 struct i2c_client *client = data->client;
2270 lm93_write_byte(client, LM93_REG_PROCHOT_OVERRIDE,
2290 struct i2c_client *client = data->client;
2303 lm93_write_byte(client, LM93_REG_CONFIG, data->config);
2498 static void lm93_init_client(struct i2c_client *client)
2504 reg = lm93_read_byte(client, LM93_REG_GPI_VID_CTL);
2505 lm93_write_byte(client, LM93_REG_GPI_VID_CTL,
2510 reg = lm93_read_byte(client, LM93_REG_CONFIG);
2511 lm93_write_byte(client, LM93_REG_CONFIG, reg | 0x08);
2514 reg = lm93_read_byte(client, LM93_REG_STATUS_CONTROL);
2515 lm93_write_byte(client, LM93_REG_STATUS_CONTROL, reg | 0x02);
2518 lm93_write_byte(client, LM93_REG_SLEEP_CONTROL, 0);
2521 reg = lm93_read_byte(client, LM93_REG_MISC_ERR_MASK);
2525 lm93_write_byte(client, LM93_REG_MISC_ERR_MASK, reg);
2529 reg = lm93_read_byte(client, LM93_REG_CONFIG);
2530 lm93_write_byte(client, LM93_REG_CONFIG, reg | 0x01);
2535 if ((lm93_read_byte(client, LM93_REG_CONFIG) & 0x80) == 0x80)
2539 dev_warn(&client->dev,
2544 static int lm93_detect(struct i2c_client *client, struct i2c_board_info *info)
2546 struct i2c_adapter *adapter = client->adapter;
2554 mfr = lm93_read_byte(client, LM93_REG_MFR_ID);
2561 ver = lm93_read_byte(client, LM93_REG_VER);
2580 client->name, i2c_adapter_id(client->adapter),
2581 client->addr);
2586 static int lm93_probe(struct i2c_client *client)
2588 struct device *dev = &client->dev;
2595 func = i2c_get_functionality(client->adapter);
2613 data->client = client;
2618 lm93_init_client(client);
2620 hwmon_dev = devm_hwmon_device_register_with_groups(dev, client->name,