forked from Minki/linux
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:
parent
d8a6fc1813
commit
15e374daf9
@ -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[] = {
|
||||
|
Loading…
Reference in New Issue
Block a user