iio:adc:ad7476: Use GENMASK() macro
authorPeter Meerwald <pmeerw@pmeerw.net>
Sat, 6 Dec 2014 06:00:00 +0000 (06:00 +0000)
committerJonathan Cameron <jic23@kernel.org>
Sat, 14 Jun 2014 15:03:48 +0000 (16:03 +0100)
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/adc/ad7476.c

index d141d452c3d1081d4bea64ff01e5b38e855fcd9d..ce400ec176f13e34fddd799deaa2caf595114b03 100644 (file)
@@ -14,6 +14,7 @@
 #include <linux/regulator/consumer.h>
 #include <linux/err.h>
 #include <linux/module.h>
+#include <linux/bitops.h>
 
 #include <linux/iio/iio.h>
 #include <linux/iio/sysfs.h>
@@ -21,8 +22,6 @@
 #include <linux/iio/trigger_consumer.h>
 #include <linux/iio/triggered_buffer.h>
 
-#define RES_MASK(bits) ((1 << (bits)) - 1)
-
 struct ad7476_state;
 
 struct ad7476_chip_info {
@@ -117,7 +116,7 @@ static int ad7476_read_raw(struct iio_dev *indio_dev,
                if (ret < 0)
                        return ret;
                *val = (ret >> st->chip_info->channel[0].scan_type.shift) &
-                       RES_MASK(st->chip_info->channel[0].scan_type.realbits);
+                       GENMASK(st->chip_info->channel[0].scan_type.realbits - 1, 0);
                return IIO_VAL_INT;
        case IIO_CHAN_INFO_SCALE:
                if (!st->chip_info->int_vref_uv) {
This page took 0.025657 seconds and 5 git commands to generate.