Commit 0149ba2d authored by Renato Lui Geh's avatar Renato Lui Geh Committed by Jonathan Cameron

staging: iio: ad7780: add gain reading to ad778x

This patch adds a new functionality of reading gain values from the
ad778x chips. This value is stored in the chip's state struct and is
updated whenever a read or write call is performed on the driver.
Signed-off-by: default avatarRenato Lui Geh <renatogeh@gmail.com>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent ae9f86fe
...@@ -42,6 +42,8 @@ ...@@ -42,6 +42,8 @@
#define AD7780_GAIN_MIDPOINT 64 #define AD7780_GAIN_MIDPOINT 64
#define AD7780_FILTER_MIDPOINT 13350 #define AD7780_FILTER_MIDPOINT 13350
static const unsigned int ad778x_gain[2] = { 1, 128 };
struct ad7780_chip_info { struct ad7780_chip_info {
struct iio_chan_spec channel; struct iio_chan_spec channel;
unsigned int pattern_mask; unsigned int pattern_mask;
...@@ -179,6 +181,9 @@ static int ad7780_postprocess_sample(struct ad_sigma_delta *sigma_delta, ...@@ -179,6 +181,9 @@ static int ad7780_postprocess_sample(struct ad_sigma_delta *sigma_delta,
((raw_sample & chip_info->pattern_mask) != chip_info->pattern)) ((raw_sample & chip_info->pattern_mask) != chip_info->pattern))
return -EIO; return -EIO;
if (chip_info->is_ad778x)
st->gain = ad778x_gain[raw_sample & AD7780_GAIN];
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment