Lines Matching defs:data

217 static int adux1020_flush_fifo(struct adux1020_data *data)
222 ret = regmap_write(data->regmap, ADUX1020_REG_FORCE_MODE,
227 ret = regmap_update_bits(data->regmap, ADUX1020_REG_OP_MODE,
232 ret = regmap_update_bits(data->regmap, ADUX1020_REG_OP_MODE,
238 ret = regmap_write(data->regmap, ADUX1020_REG_TEST_MODES_3,
243 ret = regmap_write(data->regmap, ADUX1020_REG_INT_STATUS,
248 return regmap_write(data->regmap, ADUX1020_REG_TEST_MODES_3,
252 static int adux1020_read_fifo(struct adux1020_data *data, u16 *buf, u8 buf_len)
258 ret = regmap_write(data->regmap, ADUX1020_REG_TEST_MODES_3,
264 ret = regmap_read(data->regmap, ADUX1020_REG_DATA_BUFFER,
273 return regmap_write(data->regmap, ADUX1020_REG_TEST_MODES_3,
277 static int adux1020_set_mode(struct adux1020_data *data,
283 ret = regmap_write(data->regmap, ADUX1020_REG_OP_MODE,
288 /* Set data out and switch to the desired mode */
291 ret = regmap_update_bits(data->regmap, ADUX1020_REG_OP_MODE,
297 ret = regmap_update_bits(data->regmap, ADUX1020_REG_OP_MODE,
310 static int adux1020_measure(struct adux1020_data *data,
318 ret = regmap_write(data->regmap, ADUX1020_REG_INT_ENABLE,
324 ret = regmap_update_bits(data->regmap, ADUX1020_REG_INT_MASK,
331 ret = regmap_read(data->regmap, ADUX1020_REG_INT_STATUS,
345 ret = adux1020_read_fifo(data, val, adux1020_modes[mode].buf_len);
350 ret = regmap_write(data->regmap, ADUX1020_REG_INT_STATUS,
356 return regmap_update_bits(data->regmap, ADUX1020_REG_INT_MASK,
365 struct adux1020_data *data = iio_priv(indio_dev);
370 mutex_lock(&data->lock);
376 ret = adux1020_set_mode(data, ADUX1020_MODE_PROX_I);
380 ret = adux1020_measure(data, ADUX1020_MODE_PROX_I, buf);
394 ret = regmap_read(data->regmap,
413 ret = regmap_read(data->regmap, ADUX1020_REG_FREQUENCY,
434 mutex_unlock(&data->lock);
455 struct adux1020_data *data = iio_priv(indio_dev);
458 mutex_lock(&data->lock);
471 ret = regmap_update_bits(data->regmap,
487 ret = regmap_update_bits(data->regmap,
497 mutex_unlock(&data->lock);
507 struct adux1020_data *data = iio_priv(indio_dev);
510 mutex_lock(&data->lock);
512 ret = regmap_write(data->regmap, ADUX1020_REG_INT_ENABLE,
517 ret = regmap_write(data->regmap, ADUX1020_REG_INT_POLARITY, 0);
533 ret = regmap_update_bits(data->regmap, ADUX1020_REG_INT_MASK,
542 ret = regmap_update_bits(data->regmap, ADUX1020_REG_PROX_TYPE,
549 ret = adux1020_set_mode(data, ADUX1020_MODE_PROX_I);
557 mutex_unlock(&data->lock);
567 struct adux1020_data *data = iio_priv(indio_dev);
582 ret = regmap_read(data->regmap, ADUX1020_REG_INT_MASK, &regval);
595 struct adux1020_data *data = iio_priv(indio_dev);
611 ret = regmap_read(data->regmap, reg, &regval);
626 struct adux1020_data *data = iio_priv(indio_dev);
644 return regmap_write(data->regmap, reg, val);
703 struct adux1020_data *data = iio_priv(indio_dev);
706 ret = regmap_read(data->regmap, ADUX1020_REG_INT_STATUS, &status);
728 regmap_update_bits(data->regmap, ADUX1020_REG_INT_STATUS,
734 static int adux1020_chip_init(struct adux1020_data *data)
736 struct i2c_client *client = data->client;
740 ret = regmap_read(data->regmap, ADUX1020_REG_CHIP_ID, &val);
751 ret = regmap_update_bits(data->regmap, ADUX1020_REG_SW_RESET,
757 ret = regmap_multi_reg_write(data->regmap, adux1020_def_conf,
762 ret = adux1020_flush_fifo(data);
767 ret = regmap_update_bits(data->regmap, ADUX1020_REG_LED_CURRENT,
773 return regmap_update_bits(data->regmap, ADUX1020_REG_INT_MASK,
779 struct adux1020_data *data;
783 indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
793 data = iio_priv(indio_dev);
795 data->regmap = devm_regmap_init_i2c(client, &adux1020_regmap_config);
796 if (IS_ERR(data->regmap)) {
798 return PTR_ERR(data->regmap);
801 data->client = client;
802 data->indio_dev = indio_dev;
803 mutex_init(&data->lock);
805 ret = adux1020_chip_init(data);