diff mbox series

[v1,09/16] iio: light: si1133: Use get_unaligned_be24()

Message ID 20200421003135.23060-9-andriy.shevchenko@linux.intel.com (mailing list archive)
State New, archived
Headers show
Series [v1,01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24() | expand

Commit Message

Andy Shevchenko April 21, 2020, 12:31 a.m. UTC
This makes the driver code slightly easier to read.

Cc: Maxime Roussin-Bélanger <maxime.roussinbelanger@gmail.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/iio/light/si1133.c | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

Comments

Jonathan Cameron April 25, 2020, 4:41 p.m. UTC | #1
On Tue, 21 Apr 2020 03:31:28 +0300
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> This makes the driver code slightly easier to read.
> 
> Cc: Maxime Roussin-Bélanger <maxime.roussinbelanger@gmail.com>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Applied with asm/unaligned include added.

J

> ---
>  drivers/iio/light/si1133.c | 16 ++++------------
>  1 file changed, 4 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/iio/light/si1133.c b/drivers/iio/light/si1133.c
> index 9174ab928880..8931a8afbafc 100644
> --- a/drivers/iio/light/si1133.c
> +++ b/drivers/iio/light/si1133.c
> @@ -104,8 +104,6 @@
>  #define SI1133_LUX_BUFFER_SIZE		9
>  #define SI1133_MEASURE_BUFFER_SIZE	3
>  
> -#define SI1133_SIGN_BIT_INDEX 23
> -
>  static const int si1133_scale_available[] = {
>  	1, 2, 4, 8, 16, 32, 64, 128};
>  
> @@ -633,8 +631,7 @@ static int si1133_measure(struct si1133_data *data,
>  	if (err)
>  		return err;
>  
> -	*val = sign_extend32((buffer[0] << 16) | (buffer[1] << 8) | buffer[2],
> -			     SI1133_SIGN_BIT_INDEX);
> +	*val = sign_extend32(get_unaligned_be24(&buffer[0]), 23);
>  
>  	return err;
>  }
> @@ -723,16 +720,11 @@ static int si1133_get_lux(struct si1133_data *data, int *val)
>  	if (err)
>  		return err;
>  
> -	high_vis =
> -		sign_extend32((buffer[0] << 16) | (buffer[1] << 8) | buffer[2],
> -			      SI1133_SIGN_BIT_INDEX);
> +	high_vis = sign_extend32(get_unaligned_be24(&buffer[0]), 23);
>  
> -	low_vis =
> -		sign_extend32((buffer[3] << 16) | (buffer[4] << 8) | buffer[5],
> -			      SI1133_SIGN_BIT_INDEX);
> +	low_vis = sign_extend32(get_unaligned_be24(&buffer[3]), 23);
>  
> -	ir = sign_extend32((buffer[6] << 16) | (buffer[7] << 8) | buffer[8],
> -			   SI1133_SIGN_BIT_INDEX);
> +	ir = sign_extend32(get_unaligned_be24(&buffer[6]), 23);
>  
>  	if (high_vis > SI1133_ADC_THRESHOLD || ir > SI1133_ADC_THRESHOLD)
>  		lux = si1133_calc_polynomial(high_vis, ir,
diff mbox series

Patch

diff --git a/drivers/iio/light/si1133.c b/drivers/iio/light/si1133.c
index 9174ab928880..8931a8afbafc 100644
--- a/drivers/iio/light/si1133.c
+++ b/drivers/iio/light/si1133.c
@@ -104,8 +104,6 @@ 
 #define SI1133_LUX_BUFFER_SIZE		9
 #define SI1133_MEASURE_BUFFER_SIZE	3
 
-#define SI1133_SIGN_BIT_INDEX 23
-
 static const int si1133_scale_available[] = {
 	1, 2, 4, 8, 16, 32, 64, 128};
 
@@ -633,8 +631,7 @@  static int si1133_measure(struct si1133_data *data,
 	if (err)
 		return err;
 
-	*val = sign_extend32((buffer[0] << 16) | (buffer[1] << 8) | buffer[2],
-			     SI1133_SIGN_BIT_INDEX);
+	*val = sign_extend32(get_unaligned_be24(&buffer[0]), 23);
 
 	return err;
 }
@@ -723,16 +720,11 @@  static int si1133_get_lux(struct si1133_data *data, int *val)
 	if (err)
 		return err;
 
-	high_vis =
-		sign_extend32((buffer[0] << 16) | (buffer[1] << 8) | buffer[2],
-			      SI1133_SIGN_BIT_INDEX);
+	high_vis = sign_extend32(get_unaligned_be24(&buffer[0]), 23);
 
-	low_vis =
-		sign_extend32((buffer[3] << 16) | (buffer[4] << 8) | buffer[5],
-			      SI1133_SIGN_BIT_INDEX);
+	low_vis = sign_extend32(get_unaligned_be24(&buffer[3]), 23);
 
-	ir = sign_extend32((buffer[6] << 16) | (buffer[7] << 8) | buffer[8],
-			   SI1133_SIGN_BIT_INDEX);
+	ir = sign_extend32(get_unaligned_be24(&buffer[6]), 23);
 
 	if (high_vis > SI1133_ADC_THRESHOLD || ir > SI1133_ADC_THRESHOLD)
 		lux = si1133_calc_polynomial(high_vis, ir,