Lines Matching defs:data
81 struct adc128_data *data = dev_get_drvdata(dev);
82 struct i2c_client *client = data->client;
83 struct adc128_data *ret = data;
86 mutex_lock(&data->update_lock);
88 if (time_after(jiffies, data->last_updated + HZ) || !data->valid) {
89 for (i = 0; i < num_inputs[data->mode]; i++) {
94 data->in[0][i] = rv >> 4;
100 data->in[1][i] = rv << 4;
106 data->in[2][i] = rv << 4;
109 if (data->mode != 1) {
114 data->temp[0] = rv >> 7;
120 data->temp[1] = rv << 1;
126 data->temp[2] = rv << 1;
132 data->alarms |= rv;
134 data->last_updated = jiffies;
135 data->valid = true;
141 data->valid = false;
143 mutex_unlock(&data->update_lock);
150 struct adc128_data *data = adc128_update_device(dev);
155 if (IS_ERR(data))
156 return PTR_ERR(data);
158 val = DIV_ROUND_CLOSEST(data->in[index][nr] * data->vref, 4095);
166 struct adc128_data *data = dev_get_drvdata(dev);
177 mutex_lock(&data->update_lock);
180 data->in[index][nr] = regval << 4;
182 i2c_smbus_write_byte_data(data->client, reg, regval);
183 mutex_unlock(&data->update_lock);
191 struct adc128_data *data = adc128_update_device(dev);
195 if (IS_ERR(data))
196 return PTR_ERR(data);
198 temp = sign_extend32(data->temp[index], 8);
206 struct adc128_data *data = dev_get_drvdata(dev);
216 mutex_lock(&data->update_lock);
218 data->temp[index] = regval << 1;
219 i2c_smbus_write_byte_data(data->client,
223 mutex_unlock(&data->update_lock);
231 struct adc128_data *data = adc128_update_device(dev);
235 if (IS_ERR(data))
236 return PTR_ERR(data);
242 alarms = data->alarms;
243 data->alarms &= ~mask;
252 struct adc128_data *data = dev_get_drvdata(dev);
256 if (index >= num_inputs[data->mode] * 4)
260 if (data->mode == 1)
392 static int adc128_init_client(struct adc128_data *data)
394 struct i2c_client *client = data->client;
407 if (data->mode != 0)
408 regval |= data->mode << 1;
411 if (data->regulator)
435 struct adc128_data *data;
438 data = devm_kzalloc(dev, sizeof(struct adc128_data), GFP_KERNEL);
439 if (!data)
445 data->regulator = regulator;
454 data->vref = DIV_ROUND_CLOSEST(vref, 1000);
456 data->vref = 2560; /* 2.56V, in mV */
460 if (of_property_read_u8(dev->of_node, "ti,mode", &data->mode) == 0) {
461 if (data->mode > 3) {
463 data->mode);
471 data->mode = (err >> 1) & ADC128_REG_MASK;
474 data->client = client;
475 i2c_set_clientdata(client, data);
476 mutex_init(&data->update_lock);
479 err = adc128_init_client(data);
484 data, adc128_groups);
493 if (data->regulator)
494 regulator_disable(data->regulator);
500 struct adc128_data *data = i2c_get_clientdata(client);
502 if (data->regulator)
503 regulator_disable(data->regulator);