Re: [PATCH v6 5/6] Staging: iio: adis16209: Use GENMASK
From: Jonathan Cameron
Date: Fri Mar 30 2018 - 07:40:32 EST
On Thu, 29 Mar 2018 14:51:19 +0530
Shreeya Patel <shreeya.patel23498@xxxxxxxxx> wrote:
> Use GENMASK to improve readability and remove the local
> variables used to store intermediate data.
>
> Signed-off-by: Shreeya Patel <shreeya.patel23498@xxxxxxxxx>
See below.
Fixed up and applied to the togreg branch of iio.git and pushed out
as testing for the autobuilders to play with it.
Thanks,
Jonathan
> ---
>
> 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:
Looks to me like the indenting is now incorrect.
The next block should be one less tab in.
> 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,