OSDN Git Service

staging: iio: ad7780: set pattern values and masks directly
authorRenato Lui Geh <renatogeh@gmail.com>
Sat, 16 Mar 2019 02:14:14 +0000 (23:14 -0300)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Thu, 4 Apr 2019 19:20:03 +0000 (20:20 +0100)
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: Renato Lui Geh <renatogeh@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/staging/iio/adc/ad7780.c

index ae329bf..8ee1f88 100644 (file)
@@ -17,6 +17,7 @@
 #include <linux/sched.h>
 #include <linux/gpio/consumer.h>
 #include <linux/module.h>
+#include <linux/bits.h>
 
 #include <linux/iio/iio.h>
 #include <linux/iio/sysfs.h>
 #define AD7780_ID1             BIT(4)
 #define AD7780_ID0             BIT(3)
 #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_MASK    (AD7780_PAT0 | AD7780_PAT1 | AD7170_PAT2)
+#define AD7170_PATTERN_GOOD    5
+#define AD7170_PATTERN_MASK    GENMASK(2, 0)
 
 #define AD7780_GAIN_MIDPOINT   64
 #define AD7780_FILTER_MIDPOINT 13350
@@ -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[] = {
        [ID_AD7170] = {
                .channel = AD7170_CHANNEL(12, 24),
-               .pattern = AD7170_PATTERN,
+               .pattern = AD7170_PATTERN_GOOD,
                .pattern_mask = AD7170_PATTERN_MASK,
                .is_ad778x = false,
        },
        [ID_AD7171] = {
                .channel = AD7170_CHANNEL(16, 24),
-               .pattern = AD7170_PATTERN,
+               .pattern = AD7170_PATTERN_GOOD,
                .pattern_mask = AD7170_PATTERN_MASK,
                .is_ad778x = false,
        },
        [ID_AD7780] = {
                .channel = AD7780_CHANNEL(24, 32),
-               .pattern = AD7780_PATTERN,
+               .pattern = AD7780_PATTERN_GOOD,
                .pattern_mask = AD7780_PATTERN_MASK,
                .is_ad778x = true,
        },
        [ID_AD7781] = {
                .channel = AD7780_CHANNEL(20, 32),
-               .pattern = AD7780_PATTERN,
+               .pattern = AD7780_PATTERN_GOOD,
                .pattern_mask = AD7780_PATTERN_MASK,
                .is_ad778x = true,
        },