Staging: iio: accel: adis16201: Use GENMASK

Use GENMASK to improve readability and remove the local variables used to
store intermediate data.

Signed-off-by: Himanshu Jha <himanshujha199640@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
Himanshu Jha 2018-03-23 00:42:43 +05:30 committed by Jonathan Cameron
parent d8a6fc1813
commit 15e374daf9

View File

@ -185,28 +185,24 @@ static int adis16201_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:
bits = 12;
m = GENMASK(11, 0);
break;
case IIO_INCLI:
bits = 9;
m = GENMASK(8, 0);
break;
default:
return -EINVAL;
}
val16 = val & ((1 << bits) - 1);
addr = adis16201_addresses[chan->scan_index];
return adis_write_reg_16(st, addr, val16);
}
return -EINVAL;
return adis_write_reg_16(st, adis16201_addresses[chan->scan_index],
val & m);
}
static const struct iio_chan_spec adis16201_channels[] = {