Lines Matching refs:data
140 static int sgp40_calc_voc(struct sgp40_data *data, u16 resistance_raw, int *voc)
146 mutex_lock(&data->lock);
147 x = ((int)resistance_raw - data->res_calibbias) * 106;
148 mutex_unlock(&data->lock);
154 dev_dbg(data->dev, "raw: %d res_calibbias: %d x: %d exp: %d voc: %d\n",
155 resistance_raw, data->res_calibbias, x, exp, *voc);
160 static int sgp40_measure_resistance_raw(struct sgp40_data *data, u16 *resistance_raw)
163 struct i2c_client *client = data->client;
170 mutex_lock(&data->lock);
172 ticks = (data->rht / 10) * 65535 / 10000;
177 ticks = ((data->temp + 45000) / 10 ) * 65535 / 17500;
182 mutex_unlock(&data->lock);
186 dev_warn(data->dev, "i2c_master_send ret: %d sizeof: %zu\n", ret, sizeof(tg));
195 dev_warn(data->dev, "i2c_master_recv ret: %d sizeof: %zu\n", ret, sizeof(tgres));
201 dev_err(data->dev, "CRC error while measure-raw\n");
214 struct sgp40_data *data = iio_priv(indio_dev);
222 ret = sgp40_measure_resistance_raw(data, &resistance_raw);
229 mutex_lock(&data->lock);
230 *val = data->temp;
231 mutex_unlock(&data->lock);
234 mutex_lock(&data->lock);
235 *val = data->rht;
236 mutex_unlock(&data->lock);
242 ret = sgp40_measure_resistance_raw(data, &resistance_raw);
246 ret = sgp40_calc_voc(data, resistance_raw, &voc);
257 dev_dbg(data->dev, "voc: %d val: %d.%06d\n", voc, *val, *val2);
260 mutex_lock(&data->lock);
261 *val = data->res_calibbias;
262 mutex_unlock(&data->lock);
273 struct sgp40_data *data = iio_priv(indio_dev);
282 mutex_lock(&data->lock);
283 data->temp = val;
284 mutex_unlock(&data->lock);
290 mutex_lock(&data->lock);
291 data->rht = val;
292 mutex_unlock(&data->lock);
301 mutex_lock(&data->lock);
302 data->res_calibbias = val;
303 mutex_unlock(&data->lock);
319 struct sgp40_data *data;
322 indio_dev = devm_iio_device_alloc(dev, sizeof(*data));
326 data = iio_priv(indio_dev);
327 data->client = client;
328 data->dev = dev;
332 mutex_init(&data->lock);
335 data->rht = 50000; /* 50 % */
336 data->temp = 25000; /* 25 °C */
337 data->res_calibbias = 30000; /* resistance raw value for voc index of 250 */