aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/iio/adc/ad7192.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/staging/iio/adc/ad7192.c b/drivers/staging/iio/adc/ad7192.c
index 7ba699486326..73483d26a034 100644
--- a/drivers/staging/iio/adc/ad7192.c
+++ b/drivers/staging/iio/adc/ad7192.c
@@ -826,8 +826,6 @@ static int ad7192_read_raw(struct iio_dev *indio_dev,
826 826
827 switch (chan->type) { 827 switch (chan->type) {
828 case IIO_VOLTAGE: 828 case IIO_VOLTAGE:
829 if (!unipolar)
830 *val -= (1 << (chan->scan_type.realbits - 1));
831 break; 829 break;
832 case IIO_TEMP: 830 case IIO_TEMP:
833 *val -= 0x800000; 831 *val -= 0x800000;
@@ -853,6 +851,12 @@ static int ad7192_read_raw(struct iio_dev *indio_dev,
853 default: 851 default:
854 return -EINVAL; 852 return -EINVAL;
855 } 853 }
854 case IIO_CHAN_INFO_OFFSET:
855 if (!unipolar)
856 *val -= (1 << (chan->scan_type.realbits - 1));
857 else
858 *val = 0;
859 return IIO_VAL_INT;
856 } 860 }
857 861
858 return -EINVAL; 862 return -EINVAL;
@@ -942,7 +946,8 @@ static const struct iio_info ad7195_info = {
942 .channel = _chan, \ 946 .channel = _chan, \
943 .channel2 = _chan2, \ 947 .channel2 = _chan2, \
944 .info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT | \ 948 .info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT | \
945 IIO_CHAN_INFO_SCALE_SHARED_BIT, \ 949 IIO_CHAN_INFO_SCALE_SHARED_BIT | \
950 IIO_CHAN_INFO_OFFSET_SHARED_BIT, \
946 .address = _address, \ 951 .address = _address, \
947 .scan_index = _si, \ 952 .scan_index = _si, \
948 .scan_type = IIO_ST('u', 24, 32, 0)} 953 .scan_type = IIO_ST('u', 24, 32, 0)}
@@ -952,7 +957,8 @@ static const struct iio_info ad7195_info = {
952 .indexed = 1, \ 957 .indexed = 1, \
953 .channel = _chan, \ 958 .channel = _chan, \
954 .info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT | \ 959 .info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT | \
955 IIO_CHAN_INFO_SCALE_SHARED_BIT, \ 960 IIO_CHAN_INFO_SCALE_SHARED_BIT | \
961 IIO_CHAN_INFO_OFFSET_SHARED_BIT, \
956 .address = _address, \ 962 .address = _address, \
957 .scan_index = _si, \ 963 .scan_index = _si, \
958 .scan_type = IIO_ST('u', 24, 32, 0)} 964 .scan_type = IIO_ST('u', 24, 32, 0)}