Lines Matching refs:data
74 /* 64-bit data + 64-bit naturally aligned timestamp */
103 static int lmp91000_read(struct lmp91000_data *data, int channel, int *val)
107 ret = regmap_read(data->regmap, LMP91000_REG_MODECN, &state);
111 ret = regmap_write(data->regmap, LMP91000_REG_MODECN, channel);
119 data->chan_select = channel != LMP91000_REG_MODECN_3LEAD;
121 iio_trigger_poll_chained(data->trig);
123 ret = wait_for_completion_timeout(&data->completion, HZ);
124 reinit_completion(&data->completion);
129 *val = data->buffer[data->chan_select];
138 struct lmp91000_data *data = iio_priv(indio_dev);
141 memset(data->buffer, 0, sizeof(data->buffer));
143 ret = lmp91000_read(data, LMP91000_REG_MODECN_3LEAD, &val);
145 data->buffer[0] = val;
146 iio_push_to_buffers_with_timestamp(indio_dev, data->buffer,
159 struct lmp91000_data *data = iio_priv(indio_dev);
164 int ret = iio_channel_start_all_cb(data->cb_buffer);
169 ret = lmp91000_read(data, chan->address, val);
171 iio_channel_stop_all_cb(data->cb_buffer);
179 ret = iio_convert_raw_to_processed(data->adc_chan,
193 return iio_read_channel_offset(data->adc_chan, val, val2);
195 return iio_read_channel_scale(data->adc_chan, val, val2);
205 static int lmp91000_read_config(struct lmp91000_data *data)
207 struct device *dev = data->dev;
254 regmap_write(data->regmap, LMP91000_REG_LOCK, 0);
255 regmap_write(data->regmap, LMP91000_REG_TIACN, reg);
256 regmap_write(data->regmap, LMP91000_REG_REFCN,
258 regmap_write(data->regmap, LMP91000_REG_LOCK, 1);
266 struct lmp91000_data *data = iio_priv(indio_dev);
268 data->buffer[data->chan_select] = *((int *)val);
269 complete_all(&data->completion);
279 struct lmp91000_data *data = iio_priv(indio_dev);
281 return iio_channel_start_all_cb(data->cb_buffer);
286 struct lmp91000_data *data = iio_priv(indio_dev);
288 iio_channel_stop_all_cb(data->cb_buffer);
302 struct lmp91000_data *data;
306 indio_dev = devm_iio_device_alloc(dev, sizeof(*data));
317 data = iio_priv(indio_dev);
318 data->dev = dev;
319 data->regmap = devm_regmap_init_i2c(client, &lmp91000_regmap_config);
320 if (IS_ERR(data->regmap)) {
322 return PTR_ERR(data->regmap);
325 data->trig = devm_iio_trigger_alloc(data->dev, "%s-mux%d",
327 if (!data->trig) {
332 data->trig->ops = &lmp91000_trigger_ops;
333 data->trig->dev.parent = dev;
334 init_completion(&data->completion);
336 ret = lmp91000_read_config(data);
340 ret = iio_trigger_set_immutable(iio_channel_cb_get_iio_dev(data->cb_buffer),
341 data->trig);
347 ret = iio_trigger_register(data->trig);
359 data->cb_buffer = iio_channel_get_all_cb(dev, &lmp91000_buffer_cb,
362 if (IS_ERR(data->cb_buffer)) {
363 if (PTR_ERR(data->cb_buffer) == -ENODEV)
366 ret = PTR_ERR(data->cb_buffer);
371 data->adc_chan = iio_channel_cb_get_channels(data->cb_buffer);
380 iio_channel_release_all_cb(data->cb_buffer);
386 iio_trigger_unregister(data->trig);
394 struct lmp91000_data *data = iio_priv(indio_dev);
398 iio_channel_stop_all_cb(data->cb_buffer);
399 iio_channel_release_all_cb(data->cb_buffer);
402 iio_trigger_unregister(data->trig);