Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 336650c7 authored by Renato Lui Geh's avatar Renato Lui Geh Committed by Jonathan Cameron
Browse files

staging: iio: ad7780: update voltage on read



The ad7780 driver previously did not read the correct device output, as
it read an outdated value set at initialization. It now updates its
voltage on read.

Signed-off-by: default avatarRenato Lui Geh <renatogeh@gmail.com>
Acked-by: default avatarAlexandru Ardelean <alexandru.ardelean@analog.com>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent 121354b2
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -96,12 +96,16 @@ static int ad7780_read_raw(struct iio_dev *indio_dev,
			   long m)
{
	struct ad7780_state *st = iio_priv(indio_dev);
	int voltage_uv;

	switch (m) {
	case IIO_CHAN_INFO_RAW:
		return ad_sigma_delta_single_conversion(indio_dev, chan, val);
	case IIO_CHAN_INFO_SCALE:
		*val = st->int_vref_mv * st->gain;
		voltage_uv = regulator_get_voltage(st->reg);
		if (voltage_uv < 0)
			return voltage_uv;
		*val = (voltage_uv / 1000) * st->gain;
		*val2 = chan->scan_type.realbits - 1;
		return IIO_VAL_FRACTIONAL_LOG2;
	case IIO_CHAN_INFO_OFFSET: