Lines Matching refs:data
68 struct nct7802_data *data = dev_get_drvdata(dev);
73 ret = regmap_read(data->regmap, REG_MODE, &mode);
84 struct nct7802_data *data = dev_get_drvdata(dev);
96 err = regmap_update_bits(data->regmap, REG_MODE,
105 struct nct7802_data *data = dev_get_drvdata(dev);
112 ret = regmap_read(data->regmap, 0x5E, ®val);
123 struct nct7802_data *data = dev_get_drvdata(dev);
130 ret = regmap_read(data->regmap, attr->index, &val);
141 struct nct7802_data *data = dev_get_drvdata(dev);
149 err = regmap_write(data->regmap, attr->index, val);
156 struct nct7802_data *data = dev_get_drvdata(dev);
161 ret = regmap_read(data->regmap, REG_SMARTFAN_EN(sattr->index), ®);
172 struct nct7802_data *data = dev_get_drvdata(dev);
182 ret = regmap_update_bits(data->regmap, REG_SMARTFAN_EN(sattr->index),
188 static int nct7802_read_temp(struct nct7802_data *data,
196 mutex_lock(&data->access_lock);
197 err = regmap_read(data->regmap, reg_temp, &t1);
201 if (reg_temp_low) { /* 11 bit data */
202 err = regmap_read(data->regmap, reg_temp_low, &t2);
209 mutex_unlock(&data->access_lock);
213 static int nct7802_read_fan(struct nct7802_data *data, u8 reg_fan)
218 mutex_lock(&data->access_lock);
219 ret = regmap_read(data->regmap, reg_fan, &f1);
222 ret = regmap_read(data->regmap, REG_FANCOUNT_LOW, &f2);
232 mutex_unlock(&data->access_lock);
236 static int nct7802_read_fan_min(struct nct7802_data *data, u8 reg_fan_low,
242 mutex_lock(&data->access_lock);
243 ret = regmap_read(data->regmap, reg_fan_low, &f1);
246 ret = regmap_read(data->regmap, reg_fan_high, &f2);
258 mutex_unlock(&data->access_lock);
262 static int nct7802_write_fan_min(struct nct7802_data *data, u8 reg_fan_low,
273 mutex_lock(&data->access_lock);
274 err = regmap_write(data->regmap, reg_fan_low, limit & 0xff);
278 err = regmap_write(data->regmap, reg_fan_high, (limit & 0x1f00) >> 5);
280 mutex_unlock(&data->access_lock);
286 static int nct7802_read_voltage(struct nct7802_data *data, int nr, int index)
291 mutex_lock(&data->access_lock);
293 ret = regmap_read(data->regmap, REG_VOLTAGE[nr], &v1);
296 ret = regmap_read(data->regmap, REG_VOLTAGE_LOW, &v2);
303 ret = regmap_read(data->regmap,
307 ret = regmap_read(data->regmap, REG_VOLTAGE_LIMIT_MSB[nr],
314 mutex_unlock(&data->access_lock);
318 static int nct7802_write_voltage(struct nct7802_data *data, int nr, int index,
327 mutex_lock(&data->access_lock);
328 err = regmap_write(data->regmap,
334 err = regmap_update_bits(data->regmap, REG_VOLTAGE_LIMIT_MSB[nr],
337 mutex_unlock(&data->access_lock);
345 struct nct7802_data *data = dev_get_drvdata(dev);
348 voltage = nct7802_read_voltage(data, sattr->nr, sattr->index);
359 struct nct7802_data *data = dev_get_drvdata(dev);
369 err = nct7802_write_voltage(data, nr, index, val);
377 struct nct7802_data *data = dev_get_drvdata(dev);
381 mutex_lock(&data->in_alarm_lock);
395 ret = regmap_read(data->regmap, 0x1e, &val); /* SMI Voltage status */
400 data->in_status &= ~((val & 0x0f) << 4);
403 if (!(data->in_status & (0x10 << sattr->index))) {
404 ret = nct7802_read_voltage(data, sattr->nr, 0);
409 ret = nct7802_read_voltage(data, sattr->nr, 1);
414 ret = nct7802_read_voltage(data, sattr->nr, 2);
420 data->in_status |= (1 << sattr->index);
422 data->in_status &= ~(1 << sattr->index);
424 data->in_status |= 0x10 << sattr->index;
427 ret = sprintf(buf, "%u\n", !!(data->in_status & (1 << sattr->index)));
429 mutex_unlock(&data->in_alarm_lock);
436 struct nct7802_data *data = dev_get_drvdata(dev);
440 err = nct7802_read_temp(data, sattr->nr, sattr->index, &temp);
451 struct nct7802_data *data = dev_get_drvdata(dev);
462 err = regmap_write(data->regmap, nr, val & 0xff);
470 struct nct7802_data *data = dev_get_drvdata(dev);
473 speed = nct7802_read_fan(data, sattr->index);
484 struct nct7802_data *data = dev_get_drvdata(dev);
487 speed = nct7802_read_fan_min(data, sattr->nr, sattr->index);
499 struct nct7802_data *data = dev_get_drvdata(dev);
507 err = nct7802_write_fan_min(data, sattr->nr, sattr->index, val);
514 struct nct7802_data *data = dev_get_drvdata(dev);
520 ret = regmap_read(data->regmap, sattr->nr, &val);
531 struct nct7802_data *data = dev_get_drvdata(dev);
535 err = regmap_read(data->regmap, sattr->nr, ®val);
547 struct nct7802_data *data = dev_get_drvdata(dev);
557 err = regmap_update_bits(data->regmap, sattr->nr, 1 << sattr->index,
683 struct nct7802_data *data = dev_get_drvdata(dev);
687 err = regmap_read(data->regmap, REG_MODE, ®);
704 err = regmap_read(data->regmap, REG_PECI_ENABLE, ®);
782 struct nct7802_data *data = dev_get_drvdata(dev);
789 err = regmap_read(data->regmap, REG_MODE, ®);
857 struct nct7802_data *data = dev_get_drvdata(dev);
862 err = regmap_read(data->regmap, REG_FAN_ENABLE, ®);
1041 static int nct7802_init_chip(struct nct7802_data *data)
1046 err = regmap_update_bits(data->regmap, REG_START, 0x01, 0x01);
1051 err = regmap_update_bits(data->regmap, REG_MODE, 0x40, 0x40);
1056 return regmap_update_bits(data->regmap, REG_VMON_ENABLE, 0x03, 0x03);
1062 struct nct7802_data *data;
1066 data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL);
1067 if (data == NULL)
1070 data->regmap = devm_regmap_init_i2c(client, &nct7802_regmap_config);
1071 if (IS_ERR(data->regmap))
1072 return PTR_ERR(data->regmap);
1074 mutex_init(&data->access_lock);
1075 mutex_init(&data->in_alarm_lock);
1077 ret = nct7802_init_chip(data);
1082 data,