diff mbox series

[v1] iio: adc: intel_mrfld_adc: Use be16_to_cpu() instead of get_unaligned_be16()

Message ID 20200311092223.9673-1-andriy.shevchenko@linux.intel.com (mailing list archive)
State New, archived
Headers show
Series [v1] iio: adc: intel_mrfld_adc: Use be16_to_cpu() instead of get_unaligned_be16() | expand

Commit Message

Andy Shevchenko March 11, 2020, 9:22 a.m. UTC
There is no need to call unaligned helpers on stack placed variables
because compiler will align them correctly, accordingly to architectural
ABI. Moreover, using bitwise type makes it explicit to see what we are
reading in bulk transfer. On top of that, use sizeof() instead of
magic value.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/iio/adc/intel_mrfld_adc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Jonathan Cameron March 15, 2020, 1:08 p.m. UTC | #1
On Wed, 11 Mar 2020 11:22:23 +0200
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> There is no need to call unaligned helpers on stack placed variables
> because compiler will align them correctly, accordingly to architectural
> ABI. Moreover, using bitwise type makes it explicit to see what we are
> reading in bulk transfer. On top of that, use sizeof() instead of
> magic value.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Applied to the togreg branch of iio.git and pushed out as testing for
the autobuilders to play with it.

Thanks,

Jonathan

> ---
>  drivers/iio/adc/intel_mrfld_adc.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/iio/adc/intel_mrfld_adc.c b/drivers/iio/adc/intel_mrfld_adc.c
> index c35a1beb817c..a6d2e1f27e76 100644
> --- a/drivers/iio/adc/intel_mrfld_adc.c
> +++ b/drivers/iio/adc/intel_mrfld_adc.c
> @@ -75,7 +75,7 @@ static int mrfld_adc_single_conv(struct iio_dev *indio_dev,
>  	struct regmap *regmap = adc->regmap;
>  	unsigned int req;
>  	long timeout;
> -	u8 buf[2];
> +	__be16 value;
>  	int ret;
>  
>  	reinit_completion(&adc->completion);
> @@ -105,11 +105,11 @@ static int mrfld_adc_single_conv(struct iio_dev *indio_dev,
>  		goto done;
>  	}
>  
> -	ret = regmap_bulk_read(regmap, chan->address, buf, 2);
> +	ret = regmap_bulk_read(regmap, chan->address, &value, sizeof(value));
>  	if (ret)
>  		goto done;
>  
> -	*result = get_unaligned_be16(buf);
> +	*result = be16_to_cpu(value);
>  	ret = IIO_VAL_INT;
>  
>  done:
diff mbox series

Patch

diff --git a/drivers/iio/adc/intel_mrfld_adc.c b/drivers/iio/adc/intel_mrfld_adc.c
index c35a1beb817c..a6d2e1f27e76 100644
--- a/drivers/iio/adc/intel_mrfld_adc.c
+++ b/drivers/iio/adc/intel_mrfld_adc.c
@@ -75,7 +75,7 @@  static int mrfld_adc_single_conv(struct iio_dev *indio_dev,
 	struct regmap *regmap = adc->regmap;
 	unsigned int req;
 	long timeout;
-	u8 buf[2];
+	__be16 value;
 	int ret;
 
 	reinit_completion(&adc->completion);
@@ -105,11 +105,11 @@  static int mrfld_adc_single_conv(struct iio_dev *indio_dev,
 		goto done;
 	}
 
-	ret = regmap_bulk_read(regmap, chan->address, buf, 2);
+	ret = regmap_bulk_read(regmap, chan->address, &value, sizeof(value));
 	if (ret)
 		goto done;
 
-	*result = get_unaligned_be16(buf);
+	*result = be16_to_cpu(value);
 	ret = IIO_VAL_INT;
 
 done: