[PATCH 3/3] staging: iio: ad7780: generates pattern_mask from PAT bits

From: Giuliano Belinassi
Date: Wed Nov 07 2018 - 13:51:03 EST


Previously, all pattern_masks in the chip_info table were hardcoded. Now they
are generated using the PAT macros, as described in the datasheets.

Signed-off-by: Giuliano Belinassi <giuliano.belinassi@xxxxxx>
---
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 0a473aae52f2..fa9e047b5191 100644
--- a/drivers/staging/iio/adc/ad7780.c
+++ b/drivers/staging/iio/adc/ad7780.c
@@ -31,6 +31,8 @@
#define AD7780_PAT1 BIT(1)
#define AD7780_PAT0 BIT(0)

+#define AD7170_PAT2 BIT(2)
+
struct ad7780_chip_info {
struct iio_chan_spec channel;
unsigned int pattern_mask;
@@ -137,25 +139,25 @@ static const struct ad7780_chip_info ad7780_chip_info_tbl[] = {
[ID_AD7170] = {
.channel = AD7780_CHANNEL(12, 24),
.pattern = 0x5,
- .pattern_mask = 0x7,
+ .pattern_mask = AD7780_PAT0 | AD7780_PAT1 | AD7170_PAT2,
.is_ad778x = false,
},
[ID_AD7171] = {
.channel = AD7780_CHANNEL(16, 24),
.pattern = 0x5,
- .pattern_mask = 0x7,
+ .pattern_mask = AD7780_PAT0 | AD7780_PAT1 | AD7170_PAT2,
.is_ad778x = false,
},
[ID_AD7780] = {
.channel = AD7780_CHANNEL(24, 32),
.pattern = 0x1,
- .pattern_mask = 0x3,
+ .pattern_mask = AD7780_PAT0 | AD7780_PAT1,
.is_ad778x = true,
},
[ID_AD7781] = {
.channel = AD7780_CHANNEL(20, 32),
.pattern = 0x1,
- .pattern_mask = 0x3,
+ .pattern_mask = AD7780_PAT0 | AD7780_PAT1,
.is_ad778x = true,
},
};
--
2.19.1