Lines Matching defs:data

96 #define DS1621_COM_START		0xEE /* no data */
97 #define DS1721_COM_START 0x51 /* no data */
98 #define DS1621_COM_STOP 0x22 /* no data */
108 /* Each client has this additional data */
141 static void ds1621_init_client(struct ds1621_data *data,
159 switch (data->kind) {
161 data->update_interval = DS1625_CONVERSION_MAX;
162 data->zbits = 7;
170 data->update_interval = ds1721_convrates[resol];
171 data->zbits = 7 - resol;
175 data->update_interval = DS1621_CONVERSION_MAX;
176 data->zbits = 7;
187 struct ds1621_data *data = dev_get_drvdata(dev);
188 struct i2c_client *client = data->client;
191 mutex_lock(&data->update_lock);
193 if (time_after(jiffies, data->last_updated + data->update_interval) ||
194 !data->valid) {
199 data->conf = i2c_smbus_read_byte_data(client, DS1621_REG_CONF);
201 for (i = 0; i < ARRAY_SIZE(data->temp); i++)
202 data->temp[i] = i2c_smbus_read_word_swapped(client,
206 new_conf = data->conf;
207 if (data->temp[0] > data->temp[1]) /* input > min */
209 if (data->temp[0] < data->temp[2]) /* input < max */
211 if (data->conf != new_conf)
215 data->last_updated = jiffies;
216 data->valid = 1;
219 mutex_unlock(&data->update_lock);
221 return data;
228 struct ds1621_data *data = ds1621_update_client(dev);
230 DS1621_TEMP_FROM_REG(data->temp[attr->index]));
237 struct ds1621_data *data = dev_get_drvdata(dev);
245 mutex_lock(&data->update_lock);
246 data->temp[attr->index] = DS1621_TEMP_TO_REG(val, data->zbits);
247 i2c_smbus_write_word_swapped(data->client, DS1621_REG_TEMP[attr->index],
248 data->temp[attr->index]);
249 mutex_unlock(&data->update_lock);
256 struct ds1621_data *data = ds1621_update_client(dev);
257 return sprintf(buf, "%d\n", ALARMS_FROM_REG(data->conf));
264 struct ds1621_data *data = ds1621_update_client(dev);
265 return sprintf(buf, "%d\n", !!(data->conf & attr->index));
271 struct ds1621_data *data = dev_get_drvdata(dev);
272 return scnprintf(buf, PAGE_SIZE, "%hu\n", data->update_interval);
279 struct ds1621_data *data = dev_get_drvdata(dev);
280 struct i2c_client *client = data->client;
294 mutex_lock(&data->update_lock);
295 data->conf = i2c_smbus_read_byte_data(client, DS1621_REG_CONF);
296 data->conf &= ~DS1621_REG_CONFIG_RESOL;
297 data->conf |= (resol << DS1621_REG_CONFIG_RESOL_SHIFT);
298 i2c_smbus_write_byte_data(client, DS1621_REG_CONF, data->conf);
299 data->update_interval = ds1721_convrates[resol];
300 data->zbits = 7 - resol;
301 mutex_unlock(&data->update_lock);
330 struct ds1621_data *data = dev_get_drvdata(dev);
333 if (data->kind == ds1621 || data->kind == ds1625)
349 struct ds1621_data *data;
352 data = devm_kzalloc(&client->dev, sizeof(struct ds1621_data),
354 if (!data)
357 mutex_init(&data->update_lock);
359 data->kind = i2c_match_id(ds1621_id, client)->driver_data;
360 data->client = client;
363 ds1621_init_client(data, client);
366 client->name, data,