Commit 33e1f902 authored by Renato Lui Geh's avatar Renato Lui Geh Committed by Jonathan Cameron

staging: iio: ad7780: set pattern values and masks directly

The AD7780 driver contains status pattern bits designed for checking
whether serial transfers have been correctly performed. Pattern macros
were previously generated through bit fields. This patch sets good
pattern values directly and masks through GENMASK.
Signed-off-by: default avatarRenato Lui Geh <renatogeh@gmail.com>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent 0ee6d5eb
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/gpio/consumer.h> #include <linux/gpio/consumer.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/bits.h>
#include <linux/iio/iio.h> #include <linux/iio/iio.h>
#include <linux/iio/sysfs.h> #include <linux/iio/sysfs.h>
...@@ -28,16 +29,13 @@ ...@@ -28,16 +29,13 @@
#define AD7780_ID1 BIT(4) #define AD7780_ID1 BIT(4)
#define AD7780_ID0 BIT(3) #define AD7780_ID0 BIT(3)
#define AD7780_GAIN BIT(2) #define AD7780_GAIN BIT(2)
#define AD7780_PAT1 BIT(1)
#define AD7780_PAT0 BIT(0)
#define AD7780_PATTERN (AD7780_PAT0)
#define AD7780_PATTERN_MASK (AD7780_PAT0 | AD7780_PAT1)
#define AD7170_PAT2 BIT(2) #define AD7780_PATTERN_GOOD 1
#define AD7780_PATTERN_MASK GENMASK(1, 0)
#define AD7170_PATTERN (AD7780_PAT0 | AD7170_PAT2) #define AD7170_PATTERN_GOOD 5
#define AD7170_PATTERN_MASK (AD7780_PAT0 | AD7780_PAT1 | AD7170_PAT2) #define AD7170_PATTERN_MASK GENMASK(2, 0)
#define AD7780_GAIN_MIDPOINT 64 #define AD7780_GAIN_MIDPOINT 64
#define AD7780_FILTER_MIDPOINT 13350 #define AD7780_FILTER_MIDPOINT 13350
...@@ -209,25 +207,25 @@ static const struct ad_sigma_delta_info ad7780_sigma_delta_info = { ...@@ -209,25 +207,25 @@ static const struct ad_sigma_delta_info ad7780_sigma_delta_info = {
static const struct ad7780_chip_info ad7780_chip_info_tbl[] = { static const struct ad7780_chip_info ad7780_chip_info_tbl[] = {
[ID_AD7170] = { [ID_AD7170] = {
.channel = AD7170_CHANNEL(12, 24), .channel = AD7170_CHANNEL(12, 24),
.pattern = AD7170_PATTERN, .pattern = AD7170_PATTERN_GOOD,
.pattern_mask = AD7170_PATTERN_MASK, .pattern_mask = AD7170_PATTERN_MASK,
.is_ad778x = false, .is_ad778x = false,
}, },
[ID_AD7171] = { [ID_AD7171] = {
.channel = AD7170_CHANNEL(16, 24), .channel = AD7170_CHANNEL(16, 24),
.pattern = AD7170_PATTERN, .pattern = AD7170_PATTERN_GOOD,
.pattern_mask = AD7170_PATTERN_MASK, .pattern_mask = AD7170_PATTERN_MASK,
.is_ad778x = false, .is_ad778x = false,
}, },
[ID_AD7780] = { [ID_AD7780] = {
.channel = AD7780_CHANNEL(24, 32), .channel = AD7780_CHANNEL(24, 32),
.pattern = AD7780_PATTERN, .pattern = AD7780_PATTERN_GOOD,
.pattern_mask = AD7780_PATTERN_MASK, .pattern_mask = AD7780_PATTERN_MASK,
.is_ad778x = true, .is_ad778x = true,
}, },
[ID_AD7781] = { [ID_AD7781] = {
.channel = AD7780_CHANNEL(20, 32), .channel = AD7780_CHANNEL(20, 32),
.pattern = AD7780_PATTERN, .pattern = AD7780_PATTERN_GOOD,
.pattern_mask = AD7780_PATTERN_MASK, .pattern_mask = AD7780_PATTERN_MASK,
.is_ad778x = true, .is_ad778x = true,
}, },
......
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