From: Michael Hennerich Date: Fri, 2 Sep 2011 16:25:31 +0000 (+0100) Subject: staging:iio:adc:ad7152: Fix differential channel return value and increase delay. X-Git-Tag: firefly_0821_release~3680^2~4313^2^2~707 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=fe55a170399a0f30d1268848d2cb99dcf8fa413b;p=firefly-linux-kernel-4.4.55.git staging:iio:adc:ad7152: Fix differential channel return value and increase delay. In differential mode zero scale equals to 0x8000. Increase readout delay by 1ms. Signed-off-by: Michael Hennerich Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/iio/adc/ad7152.c b/drivers/staging/iio/adc/ad7152.c index 122d56cd445d..42996b96b850 100644 --- a/drivers/staging/iio/adc/ad7152.c +++ b/drivers/staging/iio/adc/ad7152.c @@ -160,9 +160,9 @@ static IIO_DEVICE_ATTR(in_capacitance0_calibscale_calibration, static IIO_DEVICE_ATTR(in_capacitance1_calibscale_calibration, S_IWUSR, NULL, ad7152_start_gain_calib, 1); -/* Values are Update Rate (Hz), Conversion Time (ms) */ +/* Values are Update Rate (Hz), Conversion Time (ms) + 1*/ static const unsigned char ad7152_filter_rate_table[][2] = { - {200, 5}, {50, 20}, {20, 50}, {17, 60}, + {200, 5 + 1}, {50, 20 + 1}, {20, 50 + 1}, {17, 60 + 1}, }; static ssize_t ad7152_show_filter_rate_setup(struct device *dev, @@ -367,6 +367,9 @@ static int ad7152_read_raw(struct iio_dev *indio_dev, goto out; *val = swab16(ret); + if (chan->differential) + *val -= 0x8000; + ret = IIO_VAL_INT; break; case (1 << IIO_CHAN_INFO_CALIBSCALE_SEPARATE):