Lines Matching refs:data
193 /* Each client has this additional data */
228 struct jc42_data *data = dev_get_drvdata(dev);
232 mutex_lock(&data->update_lock);
236 ret = regmap_read(data->regmap, JC42_REG_TEMP, ®val);
243 ret = regmap_read(data->regmap, JC42_REG_TEMP_LOWER, ®val);
250 ret = regmap_read(data->regmap, JC42_REG_TEMP_UPPER, ®val);
257 ret = regmap_read(data->regmap, JC42_REG_TEMP_CRITICAL,
265 ret = regmap_read(data->regmap, JC42_REG_TEMP_UPPER, ®val);
270 hyst = jc42_hysteresis[(data->config & JC42_CFG_HYST_MASK)
275 ret = regmap_read(data->regmap, JC42_REG_TEMP_CRITICAL,
281 hyst = jc42_hysteresis[(data->config & JC42_CFG_HYST_MASK)
286 ret = regmap_read(data->regmap, JC42_REG_TEMP, ®val);
293 ret = regmap_read(data->regmap, JC42_REG_TEMP, ®val);
300 ret = regmap_read(data->regmap, JC42_REG_TEMP, ®val);
311 mutex_unlock(&data->update_lock);
319 struct jc42_data *data = dev_get_drvdata(dev);
324 mutex_lock(&data->update_lock);
328 ret = regmap_write(data->regmap, JC42_REG_TEMP_LOWER,
329 jc42_temp_to_reg(val, data->extended));
332 ret = regmap_write(data->regmap, JC42_REG_TEMP_UPPER,
333 jc42_temp_to_reg(val, data->extended));
336 ret = regmap_write(data->regmap, JC42_REG_TEMP_CRITICAL,
337 jc42_temp_to_reg(val, data->extended));
340 ret = regmap_read(data->regmap, JC42_REG_TEMP_CRITICAL,
349 val = clamp_val(val, (data->extended ? JC42_TEMP_MIN_EXTENDED
362 data->config = (data->config & ~JC42_CFG_HYST_MASK) |
364 ret = regmap_write(data->regmap, JC42_REG_CONFIG,
365 data->config);
372 mutex_unlock(&data->update_lock);
380 const struct jc42_data *data = _data;
381 unsigned int config = data->config;
496 struct jc42_data *data;
499 data = devm_kzalloc(dev, sizeof(struct jc42_data), GFP_KERNEL);
500 if (!data)
503 data->regmap = devm_regmap_init_i2c(client, &jc42_regmap_config);
504 if (IS_ERR(data->regmap))
505 return PTR_ERR(data->regmap);
507 i2c_set_clientdata(client, data);
508 mutex_init(&data->update_lock);
510 ret = regmap_read(data->regmap, JC42_REG_CAP, &cap);
514 data->extended = !!(cap & JC42_CAP_RANGE);
523 ret = regmap_set_bits(data->regmap, JC42_REG_SMBUS,
529 ret = regmap_read(data->regmap, JC42_REG_CONFIG, &config);
533 data->orig_config = config;
536 regmap_write(data->regmap, JC42_REG_CONFIG, config);
538 data->config = config;
541 data, &jc42_chip_info,
548 struct jc42_data *data = i2c_get_clientdata(client);
551 if ((data->config & ~JC42_CFG_HYST_MASK) !=
552 (data->orig_config & ~JC42_CFG_HYST_MASK)) {
555 config = (data->orig_config & ~JC42_CFG_HYST_MASK)
556 | (data->config & JC42_CFG_HYST_MASK);
557 regmap_write(data->regmap, JC42_REG_CONFIG, config);
566 struct jc42_data *data = dev_get_drvdata(dev);
568 data->config |= JC42_CFG_SHUTDOWN;
569 regmap_write(data->regmap, JC42_REG_CONFIG, data->config);
571 regcache_cache_only(data->regmap, true);
572 regcache_mark_dirty(data->regmap);
579 struct jc42_data *data = dev_get_drvdata(dev);
581 regcache_cache_only(data->regmap, false);
583 data->config &= ~JC42_CFG_SHUTDOWN;
584 regmap_write(data->regmap, JC42_REG_CONFIG, data->config);
587 return regcache_sync(data->regmap);