[PATCH v6 5/6] Staging: iio: adis16209: Use GENMASK
From: Shreeya Patel
Date: Thu Mar 29 2018 - 05:21:31 EST
Use GENMASK to improve readability and remove the local
variables used to store intermediate data.
Signed-off-by: Shreeya Patel <shreeya.patel23498@xxxxxxxxx>
---
Changes in v6
-Introduce this new patch in the series.
drivers/staging/iio/accel/adis16209.c | 19 ++++++++-----------
1 file changed, 8 insertions(+), 11 deletions(-)
diff --git a/drivers/staging/iio/accel/adis16209.c b/drivers/staging/iio/accel/adis16209.c
index ed6d7c7..cc50667 100644
--- a/drivers/staging/iio/accel/adis16209.c
+++ b/drivers/staging/iio/accel/adis16209.c
@@ -112,25 +112,22 @@ static int adis16209_write_raw(struct iio_dev *indio_dev,
long mask)
{
struct adis *st = iio_priv(indio_dev);
- int bits;
- s16 val16;
- u8 addr;
+ int m;
+
+ if (mask != IIO_CHAN_INFO_CALIBBIAS)
+ return -EINVAL;
- switch (mask) {
- case IIO_CHAN_INFO_CALIBBIAS:
switch (chan->type) {
case IIO_ACCEL:
case IIO_INCLI:
- bits = 14;
+ m = GENMASK(13, 0);
break;
default:
return -EINVAL;
}
- val16 = val & ((1 << bits) - 1);
- addr = adis16209_addresses[chan->scan_index][0];
- return adis_write_reg_16(st, addr, val16);
- }
- return -EINVAL;
+
+ return adis_write_reg_16(st, adis16209_addresses[chan->scan_index][0],
+ val & m);
}
static int adis16209_read_raw(struct iio_dev *indio_dev,
--
2.7.4