Lines Matching defs:data
54 /* Each client has this additional data */
78 static int adt7x10_write_byte(struct device *dev, u8 reg, u8 data)
81 return d->ops->write_byte(dev, reg, data);
90 static int adt7x10_write_word(struct device *dev, u8 reg, u16 data)
93 return d->ops->write_word(dev, reg, data);
139 struct adt7x10_data *data = dev_get_drvdata(dev);
142 mutex_lock(&data->update_lock);
144 if (time_after(jiffies, data->last_updated + HZ + HZ / 2)
145 || !data->valid) {
161 data->temp[0] = temp;
162 data->last_updated = jiffies;
163 data->valid = true;
167 mutex_unlock(&data->update_lock);
173 struct adt7x10_data *data = dev_get_drvdata(dev);
177 for (i = 1; i < ARRAY_SIZE(data->temp); i++) {
184 data->temp[i] = ret;
193 data->hyst = ret;
204 static int ADT7X10_REG_TO_TEMP(struct adt7x10_data *data, s16 reg)
207 if (!(data->config & ADT7X10_RESOLUTION))
224 struct adt7x10_data *data = dev_get_drvdata(dev);
235 return sprintf(buf, "%d\n", ADT7X10_REG_TO_TEMP(data,
236 data->temp[attr->index]));
244 struct adt7x10_data *data = dev_get_drvdata(dev);
253 mutex_lock(&data->update_lock);
254 data->temp[nr] = ADT7X10_TEMP_TO_REG(temp);
255 ret = adt7x10_write_word(dev, ADT7X10_REG_TEMP[nr], data->temp[nr]);
258 mutex_unlock(&data->update_lock);
266 struct adt7x10_data *data = dev_get_drvdata(dev);
270 hyst = (data->hyst & ADT7X10_T_HYST_MASK) * 1000;
279 ADT7X10_REG_TO_TEMP(data, data->temp[nr]) - hyst);
286 struct adt7x10_data *data = dev_get_drvdata(dev);
294 limit = ADT7X10_REG_TO_TEMP(data, data->temp[1]);
296 data->hyst = clamp_val(DIV_ROUND_CLOSEST(limit - hyst, 1000),
298 ret = adt7x10_write_byte(dev, ADT7X10_T_HYST, data->hyst);
321 struct adt7x10_data *data = dev_get_drvdata(dev);
323 return sprintf(buf, "%s\n", data->name);
362 struct adt7x10_data *data;
365 data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL);
366 if (!data)
369 data->ops = ops;
370 data->name = name;
372 dev_set_drvdata(dev, data);
373 mutex_init(&data->update_lock);
381 data->oldconfig = ret;
386 data->config = data->oldconfig;
387 data->config &= ~(ADT7X10_MODE_MASK | ADT7X10_CT_POLARITY |
389 data->config |= ADT7X10_FULL | ADT7X10_RESOLUTION | ADT7X10_EVENT_MODE;
391 if (data->config != data->oldconfig) {
392 ret = adt7x10_write_byte(dev, ADT7X10_CONFIG, data->config);
396 dev_dbg(dev, "Config %02x\n", data->config);
418 data->hwmon_dev = hwmon_device_register(dev);
419 if (IS_ERR(data->hwmon_dev)) {
420 ret = PTR_ERR(data->hwmon_dev);
435 hwmon_device_unregister(data->hwmon_dev);
442 adt7x10_write_byte(dev, ADT7X10_CONFIG, data->oldconfig);
449 struct adt7x10_data *data = dev_get_drvdata(dev);
454 hwmon_device_unregister(data->hwmon_dev);
455 if (data->name)
458 if (data->oldconfig != data->config)
459 adt7x10_write_byte(dev, ADT7X10_CONFIG, data->oldconfig);
468 struct adt7x10_data *data = dev_get_drvdata(dev);
471 data->config | ADT7X10_PD);
476 struct adt7x10_data *data = dev_get_drvdata(dev);
478 return adt7x10_write_byte(dev, ADT7X10_CONFIG, data->config);