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_nested(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);
276 struct lmp91000_data *data = iio_priv(indio_dev);
278 return iio_channel_start_all_cb(data->cb_buffer);
283 struct lmp91000_data *data = iio_priv(indio_dev);
285 iio_channel_stop_all_cb(data->cb_buffer);
298 struct lmp91000_data *data;
302 indio_dev = devm_iio_device_alloc(dev, sizeof(*data));
313 data = iio_priv(indio_dev);
314 data->dev = dev;
315 data->regmap = devm_regmap_init_i2c(client, &lmp91000_regmap_config);
316 if (IS_ERR(data->regmap)) {
318 return PTR_ERR(data->regmap);
321 data->trig = devm_iio_trigger_alloc(dev, "%s-mux%d",
324 if (!data->trig) {
329 init_completion(&data->completion);
331 ret = lmp91000_read_config(data);
335 ret = iio_trigger_set_immutable(iio_channel_cb_get_iio_dev(data->cb_buffer),
336 data->trig);
342 ret = iio_trigger_register(data->trig);
354 data->cb_buffer = iio_channel_get_all_cb(dev, &lmp91000_buffer_cb,
357 if (IS_ERR(data->cb_buffer)) {
358 if (PTR_ERR(data->cb_buffer) == -ENODEV)
361 ret = PTR_ERR(data->cb_buffer);
366 data->adc_chan = iio_channel_cb_get_channels(data->cb_buffer);
375 iio_channel_release_all_cb(data->cb_buffer);
381 iio_trigger_unregister(data->trig);
389 struct lmp91000_data *data = iio_priv(indio_dev);
393 iio_channel_stop_all_cb(data->cb_buffer);
394 iio_channel_release_all_cb(data->cb_buffer);
397 iio_trigger_unregister(data->trig);