Lines Matching refs:data
254 static int sx9310_read_prox_data(struct sx_common_data *data,
259 ret = regmap_write(data->regmap, SX9310_REG_SENSOR_SEL, chan->channel);
263 return regmap_bulk_read(data->regmap, chan->address, val, sizeof(*val));
270 static int sx9310_wait_for_sample(struct sx_common_data *data)
275 ret = regmap_read(data->regmap, SX9310_REG_PROX_CTRL0, &val);
286 static int sx9310_read_gain(struct sx_common_data *data,
292 ret = regmap_read(data->regmap, SX9310_REG_PROX_CTRL3, ®val);
314 static int sx9310_read_samp_freq(struct sx_common_data *data, int *val, int *val2)
319 ret = regmap_read(data->regmap, SX9310_REG_PROX_CTRL0, ®val);
334 struct sx_common_data *data = iio_priv(indio_dev);
346 ret = sx_common_read_proximity(data, chan, val);
354 ret = sx9310_read_gain(data, chan, val);
358 return sx9310_read_samp_freq(data, val, val2);
409 static int sx9310_read_thresh(struct sx_common_data *data,
420 ret = regmap_read(data->regmap, reg, ®val);
432 static int sx9310_read_hysteresis(struct sx_common_data *data,
438 ret = sx9310_read_thresh(data, chan, &pthresh);
442 ret = regmap_read(data->regmap, SX9310_REG_PROX_CTRL10, ®val);
456 static int sx9310_read_far_debounce(struct sx_common_data *data, int *val)
461 ret = regmap_read(data->regmap, SX9310_REG_PROX_CTRL10, ®val);
474 static int sx9310_read_close_debounce(struct sx_common_data *data, int *val)
479 ret = regmap_read(data->regmap, SX9310_REG_PROX_CTRL10, ®val);
498 struct sx_common_data *data = iio_priv(indio_dev);
505 return sx9310_read_thresh(data, chan, val);
509 return sx9310_read_far_debounce(data, val);
511 return sx9310_read_close_debounce(data, val);
516 return sx9310_read_hysteresis(data, chan, val);
522 static int sx9310_write_thresh(struct sx_common_data *data,
544 mutex_lock(&data->mutex);
545 ret = regmap_update_bits(data->regmap, reg,
547 mutex_unlock(&data->mutex);
552 static int sx9310_write_hysteresis(struct sx_common_data *data,
558 ret = sx9310_read_thresh(data, chan, &pthresh);
574 mutex_lock(&data->mutex);
575 ret = regmap_update_bits(data->regmap, SX9310_REG_PROX_CTRL10,
577 mutex_unlock(&data->mutex);
582 static int sx9310_write_far_debounce(struct sx_common_data *data, int val)
594 mutex_lock(&data->mutex);
595 ret = regmap_update_bits(data->regmap, SX9310_REG_PROX_CTRL10,
598 mutex_unlock(&data->mutex);
603 static int sx9310_write_close_debounce(struct sx_common_data *data, int val)
615 mutex_lock(&data->mutex);
616 ret = regmap_update_bits(data->regmap, SX9310_REG_PROX_CTRL10,
619 mutex_unlock(&data->mutex);
630 struct sx_common_data *data = iio_priv(indio_dev);
637 return sx9310_write_thresh(data, chan, val);
641 return sx9310_write_far_debounce(data, val);
643 return sx9310_write_close_debounce(data, val);
648 return sx9310_write_hysteresis(data, chan, val);
654 static int sx9310_set_samp_freq(struct sx_common_data *data, int val, int val2)
666 mutex_lock(&data->mutex);
669 data->regmap, SX9310_REG_PROX_CTRL0,
673 mutex_unlock(&data->mutex);
678 static int sx9310_write_gain(struct sx_common_data *data,
701 mutex_lock(&data->mutex);
702 ret = regmap_update_bits(data->regmap, SX9310_REG_PROX_CTRL3, mask,
704 mutex_unlock(&data->mutex);
713 struct sx_common_data *data = iio_priv(indio_dev);
720 return sx9310_set_samp_freq(data, val, val2);
722 return sx9310_write_gain(data, chan, val);
773 struct sx_common_data *data = iio_priv(indio_dev);
778 ret = regmap_read(data->regmap, SX9310_REG_PROX_CTRL0, &ctrl0);
783 ret = regmap_write(data->regmap, SX9310_REG_PROX_CTRL0,
788 ret = regmap_read_poll_timeout(data->regmap, SX9310_REG_STAT1, val,
794 regmap_write(data->regmap, SX9310_REG_PROX_CTRL0, ctrl0);
904 struct sx_common_data *data = iio_priv(indio_dev);
909 ret = regmap_read(data->regmap, SX9310_REG_WHOAMI, &whoami);
970 struct sx_common_data *data = iio_priv(dev_get_drvdata(dev));
974 disable_irq_nosync(data->client->irq);
976 mutex_lock(&data->mutex);
977 ret = regmap_read(data->regmap, SX9310_REG_PROX_CTRL0,
978 &data->suspend_ctrl);
982 ctrl0 = data->suspend_ctrl & ~SX9310_REG_PROX_CTRL0_SENSOREN_MASK;
983 ret = regmap_write(data->regmap, SX9310_REG_PROX_CTRL0, ctrl0);
987 ret = regmap_write(data->regmap, SX9310_REG_PAUSE, 0);
990 mutex_unlock(&data->mutex);
996 struct sx_common_data *data = iio_priv(dev_get_drvdata(dev));
999 mutex_lock(&data->mutex);
1000 ret = regmap_write(data->regmap, SX9310_REG_PAUSE, 1);
1004 ret = regmap_write(data->regmap, SX9310_REG_PROX_CTRL0,
1005 data->suspend_ctrl);
1008 mutex_unlock(&data->mutex);
1012 enable_irq(data->client->irq);