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 |
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 --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,
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(-)