Only the ad778x have the 'gain' status bit. Check it before updating.

Signed-off-by: Giuliano Belinassi <giuliano.belina...@usp.br>
---
 drivers/staging/iio/adc/ad7780.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/iio/adc/ad7780.c b/drivers/staging/iio/adc/ad7780.c
index 6e51bfdb076a..0a473aae52f2 100644
--- a/drivers/staging/iio/adc/ad7780.c
+++ b/drivers/staging/iio/adc/ad7780.c
@@ -114,10 +114,12 @@ static int ad7780_postprocess_sample(struct 
ad_sigma_delta *sigma_delta,
            ((raw_sample & chip_info->pattern_mask) != chip_info->pattern))
                return -EIO;
 
-       if (raw_sample & AD7780_GAIN)
-               st->gain = 1;
-       else
-               st->gain = 128;
+       if (chip_info->is_ad778x) {
+               if (raw_sample & AD7780_GAIN)
+                       st->gain = 1;
+               else
+                       st->gain = 128;
+       }
 
        return 0;
 }
-- 
2.19.1

Reply via email to