Skip to content

Commit

Permalink
staging:iio:adc:ad7152: Fix differential channel return value and inc…
Browse files Browse the repository at this point in the history
…rease delay.

In differential mode zero scale equals to 0x8000.
Increase readout delay by 1ms.

Signed-off-by: Michael Hennerich <[email protected]>
Signed-off-by: Jonathan Cameron <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
  • Loading branch information
mhennerich authored and gregkh committed Sep 6, 2011
1 parent c3b7915 commit fe55a17
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions drivers/staging/iio/adc/ad7152.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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):
Expand Down

0 comments on commit fe55a17

Please sign in to comment.