All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24()
@ 2020-04-21  0:31 Andy Shevchenko
  2020-04-21  0:31 ` [PATCH v1 02/16] iio: adc: mpc3422: Use get_unaligned_beXX() Andy Shevchenko
                   ` (15 more replies)
  0 siblings, 16 replies; 39+ messages in thread
From: Andy Shevchenko @ 2020-04-21  0:31 UTC (permalink / raw)
  To: Jonathan Cameron, Peter Meerwald-Stadler, linux-iio
  Cc: Andy Shevchenko, Lars-Peter Clausen, Michael Hennerich

This makes the driver code slightly easier to read.

Cc: Lars-Peter Clausen <lars@metafoo.de>
Cc: Michael Hennerich <Michael.Hennerich@analog.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/iio/adc/ad_sigma_delta.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/iio/adc/ad_sigma_delta.c b/drivers/iio/adc/ad_sigma_delta.c
index 8115b6de1d6c..dd3d54b3bc8b 100644
--- a/drivers/iio/adc/ad_sigma_delta.c
+++ b/drivers/iio/adc/ad_sigma_delta.c
@@ -70,9 +70,7 @@ int ad_sd_write_reg(struct ad_sigma_delta *sigma_delta, unsigned int reg,
 
 	switch (size) {
 	case 3:
-		data[1] = val >> 16;
-		data[2] = val >> 8;
-		data[3] = val;
+		put_unaligned_be24(val, &data[1]);
 		break;
 	case 2:
 		put_unaligned_be16(val, &data[1]);
@@ -157,9 +155,7 @@ int ad_sd_read_reg(struct ad_sigma_delta *sigma_delta,
 		*val = get_unaligned_be32(sigma_delta->data);
 		break;
 	case 3:
-		*val = (sigma_delta->data[0] << 16) |
-			(sigma_delta->data[1] << 8) |
-			sigma_delta->data[2];
+		*val = get_unaligned_be24(&sigma_delta->data[0]);
 		break;
 	case 2:
 		*val = get_unaligned_be16(sigma_delta->data);
-- 
2.26.1


^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH v1 02/16] iio: adc: mpc3422: Use get_unaligned_beXX()
  2020-04-21  0:31 [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24() Andy Shevchenko
@ 2020-04-21  0:31 ` Andy Shevchenko
  2020-04-25 16:14   ` Jonathan Cameron
  2020-04-21  0:31 ` [PATCH v1 03/16] iio: adc: ti-ads124s08: Use get_unaligned_be24() Andy Shevchenko
                   ` (14 subsequent siblings)
  15 siblings, 1 reply; 39+ messages in thread
From: Andy Shevchenko @ 2020-04-21  0:31 UTC (permalink / raw)
  To: Jonathan Cameron, Peter Meerwald-Stadler, linux-iio; +Cc: Andy Shevchenko

This makes the driver code slightly easier to read.

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

diff --git a/drivers/iio/adc/mcp3422.c b/drivers/iio/adc/mcp3422.c
index ea24d7c58b12..b247eb209f10 100644
--- a/drivers/iio/adc/mcp3422.c
+++ b/drivers/iio/adc/mcp3422.c
@@ -117,11 +117,11 @@ static int mcp3422_read(struct mcp3422 *adc, int *value, u8 *config)
 
 	if (sample_rate == MCP3422_SRATE_3) {
 		ret = i2c_master_recv(adc->i2c, buf, 4);
-		temp = buf[0] << 16 | buf[1] << 8 | buf[2];
+		temp = get_unaligned_be24(&buf[0]);
 		*config = buf[3];
 	} else {
 		ret = i2c_master_recv(adc->i2c, buf, 3);
-		temp = buf[0] << 8 | buf[1];
+		temp = get_unaligned_be16(&buf[0]);
 		*config = buf[2];
 	}
 
-- 
2.26.1


^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH v1 03/16] iio: adc: ti-ads124s08: Use get_unaligned_be24()
  2020-04-21  0:31 [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24() Andy Shevchenko
  2020-04-21  0:31 ` [PATCH v1 02/16] iio: adc: mpc3422: Use get_unaligned_beXX() Andy Shevchenko
@ 2020-04-21  0:31 ` Andy Shevchenko
  2020-04-25 16:24   ` Jonathan Cameron
  2020-04-21  0:31 ` [PATCH v1 04/16] iio: dac: ltc2632: Use put_unaligned_be24() Andy Shevchenko
                   ` (13 subsequent siblings)
  15 siblings, 1 reply; 39+ messages in thread
From: Andy Shevchenko @ 2020-04-21  0:31 UTC (permalink / raw)
  To: Jonathan Cameron, Peter Meerwald-Stadler, linux-iio; +Cc: Andy Shevchenko

This makes the driver code slightly easier to read.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/iio/adc/ti-ads124s08.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/iio/adc/ti-ads124s08.c b/drivers/iio/adc/ti-ads124s08.c
index 552c2be8d87a..2516e42ad00d 100644
--- a/drivers/iio/adc/ti-ads124s08.c
+++ b/drivers/iio/adc/ti-ads124s08.c
@@ -188,7 +188,6 @@ static int ads124s_read(struct iio_dev *indio_dev, unsigned int chan)
 {
 	struct ads124s_private *priv = iio_priv(indio_dev);
 	int ret;
-	u32 tmp;
 	struct spi_transfer t[] = {
 		{
 			.tx_buf = &priv->data[0],
@@ -208,9 +207,7 @@ static int ads124s_read(struct iio_dev *indio_dev, unsigned int chan)
 	if (ret < 0)
 		return ret;
 
-	tmp = priv->data[2] << 16 | priv->data[3] << 8 | priv->data[4];
-
-	return tmp;
+	return get_unaligned_be24(&priv->data[2]);
 }
 
 static int ads124s_read_raw(struct iio_dev *indio_dev,
-- 
2.26.1


^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH v1 04/16] iio: dac: ltc2632: Use put_unaligned_be24()
  2020-04-21  0:31 [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24() Andy Shevchenko
  2020-04-21  0:31 ` [PATCH v1 02/16] iio: adc: mpc3422: Use get_unaligned_beXX() Andy Shevchenko
  2020-04-21  0:31 ` [PATCH v1 03/16] iio: adc: ti-ads124s08: Use get_unaligned_be24() Andy Shevchenko
@ 2020-04-21  0:31 ` Andy Shevchenko
  2020-04-25 16:26   ` Jonathan Cameron
  2020-04-21  0:31 ` [PATCH v1 05/16] iio: dac: ad5624r_spi: " Andy Shevchenko
                   ` (12 subsequent siblings)
  15 siblings, 1 reply; 39+ messages in thread
From: Andy Shevchenko @ 2020-04-21  0:31 UTC (permalink / raw)
  To: Jonathan Cameron, Peter Meerwald-Stadler, linux-iio; +Cc: Andy Shevchenko

This makes the driver code slightly easier to read.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/iio/dac/ltc2632.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/iio/dac/ltc2632.c b/drivers/iio/dac/ltc2632.c
index 7adc91056aa1..5123776cb63e 100644
--- a/drivers/iio/dac/ltc2632.c
+++ b/drivers/iio/dac/ltc2632.c
@@ -75,9 +75,7 @@ static int ltc2632_spi_write(struct spi_device *spi,
 	 * 10-, 8-bit input code followed by 4, 6, or 8 don't care bits.
 	 */
 	data = (cmd << 20) | (addr << 16) | (val << shift);
-	msg[0] = data >> 16;
-	msg[1] = data >> 8;
-	msg[2] = data;
+	put_unaligned_be24(data, &msg[0]);
 
 	return spi_write(spi, msg, sizeof(msg));
 }
-- 
2.26.1


^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH v1 05/16] iio: dac: ad5624r_spi: Use put_unaligned_be24()
  2020-04-21  0:31 [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24() Andy Shevchenko
                   ` (2 preceding siblings ...)
  2020-04-21  0:31 ` [PATCH v1 04/16] iio: dac: ltc2632: Use put_unaligned_be24() Andy Shevchenko
@ 2020-04-21  0:31 ` Andy Shevchenko
  2020-04-21  6:43   ` Sa, Nuno
  2020-04-21  0:31 ` [PATCH v1 06/16] iio: dac: ad5446: " Andy Shevchenko
                   ` (11 subsequent siblings)
  15 siblings, 1 reply; 39+ messages in thread
From: Andy Shevchenko @ 2020-04-21  0:31 UTC (permalink / raw)
  To: Jonathan Cameron, Peter Meerwald-Stadler, linux-iio
  Cc: Andy Shevchenko, Lars-Peter Clausen, Michael Hennerich

This makes the driver code slightly easier to read.

Cc: Lars-Peter Clausen <lars@metafoo.de>
Cc: Michael Hennerich <Michael.Hennerich@analog.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/iio/dac/ad5624r_spi.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/iio/dac/ad5624r_spi.c b/drivers/iio/dac/ad5624r_spi.c
index e6c022e1dc1c..394d9d23ba63 100644
--- a/drivers/iio/dac/ad5624r_spi.c
+++ b/drivers/iio/dac/ad5624r_spi.c
@@ -35,11 +35,9 @@ static int ad5624r_spi_write(struct spi_device *spi,
 	 * for the AD5664R, AD5644R, and AD5624R, respectively.
 	 */
 	data = (0 << 22) | (cmd << 19) | (addr << 16) | (val << shift);
-	msg[0] = data >> 16;
-	msg[1] = data >> 8;
-	msg[2] = data;
+	put_unaligned_be24(data, &msg[0]);
 
-	return spi_write(spi, msg, 3);
+	return spi_write(spi, msg, sizeof(msg));
 }
 
 static int ad5624r_read_raw(struct iio_dev *indio_dev,
-- 
2.26.1


^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH v1 06/16] iio: dac: ad5446: Use put_unaligned_be24()
  2020-04-21  0:31 [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24() Andy Shevchenko
                   ` (3 preceding siblings ...)
  2020-04-21  0:31 ` [PATCH v1 05/16] iio: dac: ad5624r_spi: " Andy Shevchenko
@ 2020-04-21  0:31 ` Andy Shevchenko
  2020-04-25 16:31   ` Jonathan Cameron
  2020-04-21  0:31 ` [PATCH v1 07/16] iio: gyro: adis16130: Use get_unaligned_be24() Andy Shevchenko
                   ` (10 subsequent siblings)
  15 siblings, 1 reply; 39+ messages in thread
From: Andy Shevchenko @ 2020-04-21  0:31 UTC (permalink / raw)
  To: Jonathan Cameron, Peter Meerwald-Stadler, linux-iio
  Cc: Andy Shevchenko, Lars-Peter Clausen, Michael Hennerich

This makes the driver code slightly easier to read.

Cc: Lars-Peter Clausen <lars@metafoo.de>
Cc: Michael Hennerich <Michael.Hennerich@analog.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/iio/dac/ad5446.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/iio/dac/ad5446.c b/drivers/iio/dac/ad5446.c
index 61c670f7fc5f..87ff863bdc10 100644
--- a/drivers/iio/dac/ad5446.c
+++ b/drivers/iio/dac/ad5446.c
@@ -302,9 +302,7 @@ static int ad5660_write(struct ad5446_state *st, unsigned val)
 	struct spi_device *spi = to_spi_device(st->dev);
 	uint8_t data[3];
 
-	data[0] = (val >> 16) & 0xFF;
-	data[1] = (val >> 8) & 0xFF;
-	data[2] = val & 0xFF;
+	put_unaligned_be24(val, &data[0]);
 
 	return spi_write(spi, data, sizeof(data));
 }
-- 
2.26.1


^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH v1 07/16] iio: gyro: adis16130: Use get_unaligned_be24()
  2020-04-21  0:31 [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24() Andy Shevchenko
                   ` (4 preceding siblings ...)
  2020-04-21  0:31 ` [PATCH v1 06/16] iio: dac: ad5446: " Andy Shevchenko
@ 2020-04-21  0:31 ` Andy Shevchenko
  2020-04-21  6:39   ` Sa, Nuno
  2020-04-21  0:31 ` [PATCH v1 08/16] iio: health: afe4403: " Andy Shevchenko
                   ` (9 subsequent siblings)
  15 siblings, 1 reply; 39+ messages in thread
From: Andy Shevchenko @ 2020-04-21  0:31 UTC (permalink / raw)
  To: Jonathan Cameron, Peter Meerwald-Stadler, linux-iio
  Cc: Andy Shevchenko, Lars-Peter Clausen, Michael Hennerich

This makes the driver code slightly easier to read.

Cc: Lars-Peter Clausen <lars@metafoo.de>
Cc: Michael Hennerich <Michael.Hennerich@analog.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/iio/gyro/adis16130.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iio/gyro/adis16130.c b/drivers/iio/gyro/adis16130.c
index 79e63c8a2ea8..b8d626bc30ad 100644
--- a/drivers/iio/gyro/adis16130.c
+++ b/drivers/iio/gyro/adis16130.c
@@ -59,7 +59,7 @@ static int adis16130_spi_read(struct iio_dev *indio_dev, u8 reg_addr, u32 *val)
 
 	ret = spi_sync_transfer(st->us, &xfer, 1);
 	if (ret == 0)
-		*val = (st->buf[1] << 16) | (st->buf[2] << 8) | st->buf[3];
+		*val = get_unaligned_be24(&st->buf[1]);
 	mutex_unlock(&st->buf_lock);
 
 	return ret;
-- 
2.26.1


^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH v1 08/16] iio: health: afe4403: Use get_unaligned_be24()
  2020-04-21  0:31 [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24() Andy Shevchenko
                   ` (5 preceding siblings ...)
  2020-04-21  0:31 ` [PATCH v1 07/16] iio: gyro: adis16130: Use get_unaligned_be24() Andy Shevchenko
@ 2020-04-21  0:31 ` Andy Shevchenko
  2020-04-25 16:41   ` Jonathan Cameron
  2020-04-21  0:31 ` [PATCH v1 09/16] iio: light: si1133: " Andy Shevchenko
                   ` (8 subsequent siblings)
  15 siblings, 1 reply; 39+ messages in thread
From: Andy Shevchenko @ 2020-04-21  0:31 UTC (permalink / raw)
  To: Jonathan Cameron, Peter Meerwald-Stadler, linux-iio; +Cc: Andy Shevchenko

This makes the driver code slightly easier to read.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/iio/health/afe4403.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/iio/health/afe4403.c b/drivers/iio/health/afe4403.c
index dc22dc363a99..db44b53e9330 100644
--- a/drivers/iio/health/afe4403.c
+++ b/drivers/iio/health/afe4403.c
@@ -220,13 +220,11 @@ static int afe4403_read(struct afe4403_data *afe, unsigned int reg, u32 *val)
 	if (ret)
 		return ret;
 
-	ret = spi_write_then_read(afe->spi, &reg, 1, rx, 3);
+	ret = spi_write_then_read(afe->spi, &reg, 1, rx, sizeof(rx));
 	if (ret)
 		return ret;
 
-	*val = (rx[0] << 16) |
-		(rx[1] << 8) |
-		(rx[2]);
+	*val = get_unaligned_be24(&rx[0]);
 
 	/* Disable reading from the device */
 	tx[3] = AFE440X_CONTROL0_WRITE;
@@ -322,13 +320,11 @@ static irqreturn_t afe4403_trigger_handler(int irq, void *private)
 			 indio_dev->masklength) {
 		ret = spi_write_then_read(afe->spi,
 					  &afe4403_channel_values[bit], 1,
-					  rx, 3);
+					  rx, sizeof(rx));
 		if (ret)
 			goto err;
 
-		buffer[i++] = (rx[0] << 16) |
-				(rx[1] << 8) |
-				(rx[2]);
+		buffer[i++] = get_unaligned_be24(&rx[0]);
 	}
 
 	/* Disable reading from the device */
-- 
2.26.1


^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH v1 09/16] iio: light: si1133: Use get_unaligned_be24()
  2020-04-21  0:31 [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24() Andy Shevchenko
                   ` (6 preceding siblings ...)
  2020-04-21  0:31 ` [PATCH v1 08/16] iio: health: afe4403: " Andy Shevchenko
@ 2020-04-21  0:31 ` Andy Shevchenko
  2020-04-25 16:41   ` Jonathan Cameron
  2020-04-21  0:31 ` [PATCH v1 10/16] iio: light: zopt2201: Use get_unaligned_le24() Andy Shevchenko
                   ` (7 subsequent siblings)
  15 siblings, 1 reply; 39+ messages in thread
From: Andy Shevchenko @ 2020-04-21  0:31 UTC (permalink / raw)
  To: Jonathan Cameron, Peter Meerwald-Stadler, linux-iio
  Cc: Andy Shevchenko, Maxime Roussin-Bélanger

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

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,
-- 
2.26.1


^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH v1 10/16] iio: light: zopt2201: Use get_unaligned_le24()
  2020-04-21  0:31 [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24() Andy Shevchenko
                   ` (7 preceding siblings ...)
  2020-04-21  0:31 ` [PATCH v1 09/16] iio: light: si1133: " Andy Shevchenko
@ 2020-04-21  0:31 ` Andy Shevchenko
  2020-04-25 16:42   ` Jonathan Cameron
  2020-04-21  0:31 ` [PATCH v1 11/16] iio: magnetometer: rm3100: Use get_unaligned_be24() Andy Shevchenko
                   ` (6 subsequent siblings)
  15 siblings, 1 reply; 39+ messages in thread
From: Andy Shevchenko @ 2020-04-21  0:31 UTC (permalink / raw)
  To: Jonathan Cameron, Peter Meerwald-Stadler, linux-iio; +Cc: Andy Shevchenko

This makes the driver code slightly easier to read.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/iio/light/zopt2201.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iio/light/zopt2201.c b/drivers/iio/light/zopt2201.c
index 5f54f39e7a4c..0df45b42c091 100644
--- a/drivers/iio/light/zopt2201.c
+++ b/drivers/iio/light/zopt2201.c
@@ -219,7 +219,7 @@ static int zopt2201_read(struct zopt2201_data *data, u8 reg)
 		goto fail;
 	mutex_unlock(&data->lock);
 
-	return (buf[2] << 16) | (buf[1] << 8) | buf[0];
+	return get_unaligned_le24(&buf[0]);
 
 fail:
 	mutex_unlock(&data->lock);
-- 
2.26.1


^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH v1 11/16] iio: magnetometer: rm3100: Use get_unaligned_be24()
  2020-04-21  0:31 [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24() Andy Shevchenko
                   ` (8 preceding siblings ...)
  2020-04-21  0:31 ` [PATCH v1 10/16] iio: light: zopt2201: Use get_unaligned_le24() Andy Shevchenko
@ 2020-04-21  0:31 ` Andy Shevchenko
  2020-04-25 16:44   ` Jonathan Cameron
  2020-04-21  0:31 ` [PATCH v1 12/16] iio: pressure: hp206c: " Andy Shevchenko
                   ` (5 subsequent siblings)
  15 siblings, 1 reply; 39+ messages in thread
From: Andy Shevchenko @ 2020-04-21  0:31 UTC (permalink / raw)
  To: Jonathan Cameron, Peter Meerwald-Stadler, linux-iio
  Cc: Andy Shevchenko, Song Qiang

This makes the driver code slightly easier to read.

Cc: Song Qiang <songqiang1304521@gmail.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/iio/magnetometer/rm3100-core.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/iio/magnetometer/rm3100-core.c b/drivers/iio/magnetometer/rm3100-core.c
index 7c20918d8108..b3ae9a6c439b 100644
--- a/drivers/iio/magnetometer/rm3100-core.c
+++ b/drivers/iio/magnetometer/rm3100-core.c
@@ -223,8 +223,7 @@ static int rm3100_read_mag(struct rm3100_data *data, int idx, int *val)
 		goto unlock_return;
 	mutex_unlock(&data->lock);
 
-	*val = sign_extend32((buffer[0] << 16) | (buffer[1] << 8) | buffer[2],
-			     23);
+	*val = sign_extend32(get_unalinged_be24(&buffer[0]), 23);
 
 	return IIO_VAL_INT;
 
-- 
2.26.1


^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH v1 12/16] iio: pressure: hp206c: Use get_unaligned_be24()
  2020-04-21  0:31 [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24() Andy Shevchenko
                   ` (9 preceding siblings ...)
  2020-04-21  0:31 ` [PATCH v1 11/16] iio: magnetometer: rm3100: Use get_unaligned_be24() Andy Shevchenko
@ 2020-04-21  0:31 ` Andy Shevchenko
  2020-04-25 16:45   ` Jonathan Cameron
  2020-04-21  0:31 ` [PATCH v1 13/16] iio: pressure: ms5611: " Andy Shevchenko
                   ` (4 subsequent siblings)
  15 siblings, 1 reply; 39+ messages in thread
From: Andy Shevchenko @ 2020-04-21  0:31 UTC (permalink / raw)
  To: Jonathan Cameron, Peter Meerwald-Stadler, linux-iio; +Cc: Andy Shevchenko

This makes the driver code slightly easier to read.

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

diff --git a/drivers/iio/pressure/hp206c.c b/drivers/iio/pressure/hp206c.c
index 3ac3632e7242..d746882eccc8 100644
--- a/drivers/iio/pressure/hp206c.c
+++ b/drivers/iio/pressure/hp206c.c
@@ -93,12 +93,12 @@ static int hp206c_read_20bit(struct i2c_client *client, u8 cmd)
 	int ret;
 	u8 values[3];
 
-	ret = i2c_smbus_read_i2c_block_data(client, cmd, 3, values);
+	ret = i2c_smbus_read_i2c_block_data(client, cmd, sizeof(values), values);
 	if (ret < 0)
 		return ret;
-	if (ret != 3)
+	if (ret != sizeof(values))
 		return -EIO;
-	return ((values[0] & 0xF) << 16) | (values[1] << 8) | (values[2]);
+	return get_unaligned_be24(&values[0]) & GENMASK(19, 0);
 }
 
 /* Spin for max 160ms until DEV_RDY is 1, or return error. */
-- 
2.26.1


^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH v1 13/16] iio: pressure: ms5611: Use get_unaligned_be24()
  2020-04-21  0:31 [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24() Andy Shevchenko
                   ` (10 preceding siblings ...)
  2020-04-21  0:31 ` [PATCH v1 12/16] iio: pressure: hp206c: " Andy Shevchenko
@ 2020-04-21  0:31 ` Andy Shevchenko
  2020-04-21  8:36   ` Tomasz Duszynski
  2020-04-21  0:31 ` [PATCH v1 14/16] iio: pressure: zpa2326: Use get_unaligned_le24() Andy Shevchenko
                   ` (3 subsequent siblings)
  15 siblings, 1 reply; 39+ messages in thread
From: Andy Shevchenko @ 2020-04-21  0:31 UTC (permalink / raw)
  To: Jonathan Cameron, Peter Meerwald-Stadler, linux-iio; +Cc: Andy Shevchenko

This makes the driver code slightly easier to read.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/iio/pressure/ms5611_i2c.c | 2 +-
 drivers/iio/pressure/ms5611_spi.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/iio/pressure/ms5611_i2c.c b/drivers/iio/pressure/ms5611_i2c.c
index 8089c59adce5..ced83162ae94 100644
--- a/drivers/iio/pressure/ms5611_i2c.c
+++ b/drivers/iio/pressure/ms5611_i2c.c
@@ -50,7 +50,7 @@ static int ms5611_i2c_read_adc(struct ms5611_state *st, s32 *val)
 	if (ret < 0)
 		return ret;
 
-	*val = (buf[0] << 16) | (buf[1] << 8) | buf[2];
+	*val = get_unaligned_be24(&buf[0]);
 
 	return 0;
 }
diff --git a/drivers/iio/pressure/ms5611_spi.c b/drivers/iio/pressure/ms5611_spi.c
index b463eaa799ab..517295616869 100644
--- a/drivers/iio/pressure/ms5611_spi.c
+++ b/drivers/iio/pressure/ms5611_spi.c
@@ -45,7 +45,7 @@ static int ms5611_spi_read_adc(struct device *dev, s32 *val)
 	if (ret < 0)
 		return ret;
 
-	*val = (buf[0] << 16) | (buf[1] << 8) | buf[2];
+	*val = get_unaligned_be24(&buf[0]);
 
 	return 0;
 }
-- 
2.26.1


^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH v1 14/16] iio: pressure: zpa2326: Use get_unaligned_le24()
  2020-04-21  0:31 [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24() Andy Shevchenko
                   ` (11 preceding siblings ...)
  2020-04-21  0:31 ` [PATCH v1 13/16] iio: pressure: ms5611: " Andy Shevchenko
@ 2020-04-21  0:31 ` Andy Shevchenko
  2020-04-25 16:50   ` Jonathan Cameron
  2020-04-21  0:31 ` [PATCH v1 15/16] iio: temperature: max31856: Use get_unaligned_beXX() Andy Shevchenko
                   ` (2 subsequent siblings)
  15 siblings, 1 reply; 39+ messages in thread
From: Andy Shevchenko @ 2020-04-21  0:31 UTC (permalink / raw)
  To: Jonathan Cameron, Peter Meerwald-Stadler, linux-iio; +Cc: Andy Shevchenko

This makes the driver code slightly easier to read.

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

diff --git a/drivers/iio/pressure/zpa2326.c b/drivers/iio/pressure/zpa2326.c
index 99dfe33ee402..c2ad106e3d5b 100644
--- a/drivers/iio/pressure/zpa2326.c
+++ b/drivers/iio/pressure/zpa2326.c
@@ -1005,22 +1005,20 @@ static int zpa2326_fetch_raw_sample(const struct iio_dev *indio_dev,
 	struct regmap *regs = ((struct zpa2326_private *)
 			       iio_priv(indio_dev))->regmap;
 	int            err;
+	u8             v[3];
 
 	switch (type) {
 	case IIO_PRESSURE:
 		zpa2326_dbg(indio_dev, "fetching raw pressure sample");
 
-		err = regmap_bulk_read(regs, ZPA2326_PRESS_OUT_XL_REG, value,
-				       3);
+		err = regmap_bulk_read(regs, ZPA2326_PRESS_OUT_XL_REG, v, sizeof(v));
 		if (err) {
 			zpa2326_warn(indio_dev, "failed to fetch pressure (%d)",
 				     err);
 			return err;
 		}
 
-		/* Pressure is a 24 bits wide little-endian unsigned int. */
-		*value = (((u8 *)value)[2] << 16) | (((u8 *)value)[1] << 8) |
-			 ((u8 *)value)[0];
+		*value = get_unaligned_le24(&v[0]);
 
 		return IIO_VAL_INT;
 
-- 
2.26.1


^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH v1 15/16] iio: temperature: max31856: Use get_unaligned_beXX()
  2020-04-21  0:31 [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24() Andy Shevchenko
                   ` (12 preceding siblings ...)
  2020-04-21  0:31 ` [PATCH v1 14/16] iio: pressure: zpa2326: Use get_unaligned_le24() Andy Shevchenko
@ 2020-04-21  0:31 ` Andy Shevchenko
  2020-04-25 16:51   ` Jonathan Cameron
  2020-04-21  0:31 ` [PATCH v1 16/16] iio: st_sensors: Use get_unaligned_be24() and sign_extend32() Andy Shevchenko
  2020-04-21  6:41 ` [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24() Sa, Nuno
  15 siblings, 1 reply; 39+ messages in thread
From: Andy Shevchenko @ 2020-04-21  0:31 UTC (permalink / raw)
  To: Jonathan Cameron, Peter Meerwald-Stadler, linux-iio; +Cc: Andy Shevchenko

This makes the driver code slightly easier to read.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/iio/temperature/max31856.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/iio/temperature/max31856.c b/drivers/iio/temperature/max31856.c
index b4cb21ab2e85..e1966889a962 100644
--- a/drivers/iio/temperature/max31856.c
+++ b/drivers/iio/temperature/max31856.c
@@ -168,7 +168,7 @@ static int max31856_thermocouple_read(struct max31856_data *data,
 		if (ret)
 			return ret;
 		/* Skip last 5 dead bits of LTCBL */
-		*val = (reg_val[0] << 16 | reg_val[1] << 8 | reg_val[2]) >> 5;
+		*val = get_unaligned_be24(&reg_val[0]) >> 5;
 		/* Check 7th bit of LTCBH reg. value for sign*/
 		if (reg_val[0] & 0x80)
 			*val -= 0x80000;
@@ -185,7 +185,7 @@ static int max31856_thermocouple_read(struct max31856_data *data,
 		/* Get Cold Junction Temp. offset register value */
 		offset_cjto = reg_val[0];
 		/* Get CJTH and CJTL value and skip last 2 dead bits of CJTL */
-		*val = (reg_val[1] << 8 | reg_val[2]) >> 2;
+		*val = get_unaligned_be16(&reg_val[1]) >> 2;
 		/* As per datasheet add offset into CJTH and CJTL */
 		*val += offset_cjto;
 		/* Check 7th bit of CJTH reg. value for sign */
-- 
2.26.1


^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH v1 16/16] iio: st_sensors: Use get_unaligned_be24() and sign_extend32()
  2020-04-21  0:31 [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24() Andy Shevchenko
                   ` (13 preceding siblings ...)
  2020-04-21  0:31 ` [PATCH v1 15/16] iio: temperature: max31856: Use get_unaligned_beXX() Andy Shevchenko
@ 2020-04-21  0:31 ` Andy Shevchenko
  2020-04-25 16:53   ` Jonathan Cameron
  2020-04-21  6:41 ` [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24() Sa, Nuno
  15 siblings, 1 reply; 39+ messages in thread
From: Andy Shevchenko @ 2020-04-21  0:31 UTC (permalink / raw)
  To: Jonathan Cameron, Peter Meerwald-Stadler, linux-iio
  Cc: Andy Shevchenko, Denis Ciocca

Use these functions instead of open-coding them.

Cc: Denis Ciocca <denis.ciocca@st.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/iio/common/st_sensors/st_sensors_core.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/iio/common/st_sensors/st_sensors_core.c b/drivers/iio/common/st_sensors/st_sensors_core.c
index 0e35ff06f9af..bfc39ef64718 100644
--- a/drivers/iio/common/st_sensors/st_sensors_core.c
+++ b/drivers/iio/common/st_sensors/st_sensors_core.c
@@ -20,11 +20,6 @@
 
 #include "st_sensors_core.h"
 
-static inline u32 st_sensors_get_unaligned_le24(const u8 *p)
-{
-	return (s32)((p[0] | p[1] << 8 | p[2] << 16) << 8) >> 8;
-}
-
 int st_sensors_write_data_with_mask(struct iio_dev *indio_dev,
 				    u8 reg_addr, u8 mask, u8 data)
 {
@@ -545,7 +540,7 @@ static int st_sensors_read_axis_data(struct iio_dev *indio_dev,
 	else if (byte_for_channel == 2)
 		*data = (s16)get_unaligned_le16(outdata);
 	else if (byte_for_channel == 3)
-		*data = (s32)st_sensors_get_unaligned_le24(outdata);
+		*data = (s32)sign_extend32(get_unaligned_le24(outdata), 23);
 
 st_sensors_free_memory:
 	kfree(outdata);
-- 
2.26.1


^ permalink raw reply related	[flat|nested] 39+ messages in thread

* RE: [PATCH v1 07/16] iio: gyro: adis16130: Use get_unaligned_be24()
  2020-04-21  0:31 ` [PATCH v1 07/16] iio: gyro: adis16130: Use get_unaligned_be24() Andy Shevchenko
@ 2020-04-21  6:39   ` Sa, Nuno
  2020-04-25 16:34     ` Jonathan Cameron
  0 siblings, 1 reply; 39+ messages in thread
From: Sa, Nuno @ 2020-04-21  6:39 UTC (permalink / raw)
  To: Andy Shevchenko, Jonathan Cameron, Peter Meerwald-Stadler, linux-iio
  Cc: Lars-Peter Clausen, Hennerich, Michael

> From: linux-iio-owner@vger.kernel.org <linux-iio-owner@vger.kernel.org>
> On Behalf Of Andy Shevchenko
> Sent: Dienstag, 21. April 2020 02:31
> To: Jonathan Cameron <jic23@kernel.org>; Peter Meerwald-Stadler
> <pmeerw@pmeerw.net>; linux-iio@vger.kernel.org
> Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>; Lars-Peter
> Clausen <lars@metafoo.de>; Hennerich, Michael
> <Michael.Hennerich@analog.com>
> Subject: [PATCH v1 07/16] iio: gyro: adis16130: Use get_unaligned_be24()
> 
> 
> This makes the driver code slightly easier to read.
> 
> Cc: Lars-Peter Clausen <lars@metafoo.de>
> Cc: Michael Hennerich <Michael.Hennerich@analog.com>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  drivers/iio/gyro/adis16130.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 

Acked-by: Nuno Sá <nuno.sa@analog.com>

^ permalink raw reply	[flat|nested] 39+ messages in thread

* RE: [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24()
  2020-04-21  0:31 [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24() Andy Shevchenko
                   ` (14 preceding siblings ...)
  2020-04-21  0:31 ` [PATCH v1 16/16] iio: st_sensors: Use get_unaligned_be24() and sign_extend32() Andy Shevchenko
@ 2020-04-21  6:41 ` Sa, Nuno
  2020-04-25 16:12   ` Jonathan Cameron
  15 siblings, 1 reply; 39+ messages in thread
From: Sa, Nuno @ 2020-04-21  6:41 UTC (permalink / raw)
  To: Andy Shevchenko, Jonathan Cameron, Peter Meerwald-Stadler, linux-iio
  Cc: Lars-Peter Clausen, Hennerich, Michael

> From: linux-iio-owner@vger.kernel.org <linux-iio-owner@vger.kernel.org>
> On Behalf Of Andy Shevchenko
> Sent: Dienstag, 21. April 2020 02:31
> To: Jonathan Cameron <jic23@kernel.org>; Peter Meerwald-Stadler
> <pmeerw@pmeerw.net>; linux-iio@vger.kernel.org
> Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>; Lars-Peter
> Clausen <lars@metafoo.de>; Hennerich, Michael
> <Michael.Hennerich@analog.com>
> Subject: [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use
> {get,put}_unaligned_be24()
> 
> 
> This makes the driver code slightly easier to read.
> 
> Cc: Lars-Peter Clausen <lars@metafoo.de>
> Cc: Michael Hennerich <Michael.Hennerich@analog.com>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  drivers/iio/adc/ad_sigma_delta.c | 8 ++------
>  1 file changed, 2 insertions(+), 6 deletions(-)
> 

Acked-by: Nuno Sá <nuno.sa@analog.com>

^ permalink raw reply	[flat|nested] 39+ messages in thread

* RE: [PATCH v1 05/16] iio: dac: ad5624r_spi: Use put_unaligned_be24()
  2020-04-21  0:31 ` [PATCH v1 05/16] iio: dac: ad5624r_spi: " Andy Shevchenko
@ 2020-04-21  6:43   ` Sa, Nuno
  2020-04-25 16:29     ` Jonathan Cameron
  0 siblings, 1 reply; 39+ messages in thread
From: Sa, Nuno @ 2020-04-21  6:43 UTC (permalink / raw)
  To: Andy Shevchenko, Jonathan Cameron, Peter Meerwald-Stadler, linux-iio
  Cc: Lars-Peter Clausen, Hennerich, Michael


> From: linux-iio-owner@vger.kernel.org <linux-iio-owner@vger.kernel.org>
> On Behalf Of Andy Shevchenko
> Sent: Dienstag, 21. April 2020 02:31
> To: Jonathan Cameron <jic23@kernel.org>; Peter Meerwald-Stadler
> <pmeerw@pmeerw.net>; linux-iio@vger.kernel.org
> Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>; Lars-Peter
> Clausen <lars@metafoo.de>; Hennerich, Michael
> <Michael.Hennerich@analog.com>
> Subject: [PATCH v1 05/16] iio: dac: ad5624r_spi: Use put_unaligned_be24()
> 
> 
> This makes the driver code slightly easier to read.
> 
> Cc: Lars-Peter Clausen <lars@metafoo.de>
> Cc: Michael Hennerich <Michael.Hennerich@analog.com>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  drivers/iio/dac/ad5624r_spi.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 

Acked-by: Nuno Sá <nuno.sa@analog.com>

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH v1 13/16] iio: pressure: ms5611: Use get_unaligned_be24()
  2020-04-21  0:31 ` [PATCH v1 13/16] iio: pressure: ms5611: " Andy Shevchenko
@ 2020-04-21  8:36   ` Tomasz Duszynski
  2020-04-25 16:48     ` Jonathan Cameron
  0 siblings, 1 reply; 39+ messages in thread
From: Tomasz Duszynski @ 2020-04-21  8:36 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: Jonathan Cameron, Peter Meerwald-Stadler, linux-iio

On Tue, Apr 21, 2020 at 03:31:32AM +0300, Andy Shevchenko wrote:
> This makes the driver code slightly easier to read.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  drivers/iio/pressure/ms5611_i2c.c | 2 +-
>  drivers/iio/pressure/ms5611_spi.c | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/iio/pressure/ms5611_i2c.c b/drivers/iio/pressure/ms5611_i2c.c
> index 8089c59adce5..ced83162ae94 100644
> --- a/drivers/iio/pressure/ms5611_i2c.c
> +++ b/drivers/iio/pressure/ms5611_i2c.c
> @@ -50,7 +50,7 @@ static int ms5611_i2c_read_adc(struct ms5611_state *st, s32 *val)
>  	if (ret < 0)
>  		return ret;
>
> -	*val = (buf[0] << 16) | (buf[1] << 8) | buf[2];
> +	*val = get_unaligned_be24(&buf[0]);
>
>  	return 0;
>  }
> diff --git a/drivers/iio/pressure/ms5611_spi.c b/drivers/iio/pressure/ms5611_spi.c
> index b463eaa799ab..517295616869 100644
> --- a/drivers/iio/pressure/ms5611_spi.c
> +++ b/drivers/iio/pressure/ms5611_spi.c
> @@ -45,7 +45,7 @@ static int ms5611_spi_read_adc(struct device *dev, s32 *val)
>  	if (ret < 0)
>  		return ret;
>
> -	*val = (buf[0] << 16) | (buf[1] << 8) | buf[2];
> +	*val = get_unaligned_be24(&buf[0]);
>
>  	return 0;
>  }

Looks good.
Acked-by: Tomasz Duszynski <tduszyns@gmail.com>

> --
> 2.26.1
>

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24()
  2020-04-21  6:41 ` [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24() Sa, Nuno
@ 2020-04-25 16:12   ` Jonathan Cameron
  0 siblings, 0 replies; 39+ messages in thread
From: Jonathan Cameron @ 2020-04-25 16:12 UTC (permalink / raw)
  To: Sa, Nuno
  Cc: Andy Shevchenko, Peter Meerwald-Stadler, linux-iio,
	Lars-Peter Clausen, Hennerich, Michael

On Tue, 21 Apr 2020 06:41:32 +0000
"Sa, Nuno" <Nuno.Sa@analog.com> wrote:

> > From: linux-iio-owner@vger.kernel.org <linux-iio-owner@vger.kernel.org>
> > On Behalf Of Andy Shevchenko
> > Sent: Dienstag, 21. April 2020 02:31
> > To: Jonathan Cameron <jic23@kernel.org>; Peter Meerwald-Stadler
> > <pmeerw@pmeerw.net>; linux-iio@vger.kernel.org
> > Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>; Lars-Peter
> > Clausen <lars@metafoo.de>; Hennerich, Michael
> > <Michael.Hennerich@analog.com>
> > Subject: [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use
> > {get,put}_unaligned_be24()
> > 
> > 
> > This makes the driver code slightly easier to read.
> > 
> > Cc: Lars-Peter Clausen <lars@metafoo.de>
> > Cc: Michael Hennerich <Michael.Hennerich@analog.com>
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > ---
> >  drivers/iio/adc/ad_sigma_delta.c | 8 ++------
> >  1 file changed, 2 insertions(+), 6 deletions(-)
> >   
> 
> Acked-by: Nuno Sá <nuno.sa@analog.com>

Applied to the togreg branch of iio.git and pushed out as testing
etc etc.

Jonathan



^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH v1 02/16] iio: adc: mpc3422: Use get_unaligned_beXX()
  2020-04-21  0:31 ` [PATCH v1 02/16] iio: adc: mpc3422: Use get_unaligned_beXX() Andy Shevchenko
@ 2020-04-25 16:14   ` Jonathan Cameron
  2020-04-25 16:23     ` Jonathan Cameron
  0 siblings, 1 reply; 39+ messages in thread
From: Jonathan Cameron @ 2020-04-25 16:14 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: Peter Meerwald-Stadler, linux-iio

On Tue, 21 Apr 2020 03:31:21 +0300
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> This makes the driver code slightly easier to read.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Looks good to me.

Applied

Thanks,

Jonathan

> ---
>  drivers/iio/adc/mcp3422.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/iio/adc/mcp3422.c b/drivers/iio/adc/mcp3422.c
> index ea24d7c58b12..b247eb209f10 100644
> --- a/drivers/iio/adc/mcp3422.c
> +++ b/drivers/iio/adc/mcp3422.c
> @@ -117,11 +117,11 @@ static int mcp3422_read(struct mcp3422 *adc, int *value, u8 *config)
>  
>  	if (sample_rate == MCP3422_SRATE_3) {
>  		ret = i2c_master_recv(adc->i2c, buf, 4);
> -		temp = buf[0] << 16 | buf[1] << 8 | buf[2];
> +		temp = get_unaligned_be24(&buf[0]);
>  		*config = buf[3];
>  	} else {
>  		ret = i2c_master_recv(adc->i2c, buf, 3);
> -		temp = buf[0] << 8 | buf[1];
> +		temp = get_unaligned_be16(&buf[0]);
>  		*config = buf[2];
>  	}
>  


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH v1 02/16] iio: adc: mpc3422: Use get_unaligned_beXX()
  2020-04-25 16:14   ` Jonathan Cameron
@ 2020-04-25 16:23     ` Jonathan Cameron
  0 siblings, 0 replies; 39+ messages in thread
From: Jonathan Cameron @ 2020-04-25 16:23 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: Peter Meerwald-Stadler, linux-iio

On Sat, 25 Apr 2020 17:14:20 +0100
Jonathan Cameron <jic23@kernel.org> wrote:

> On Tue, 21 Apr 2020 03:31:21 +0300
> Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> 
> > This makes the driver code slightly easier to read.
> > 
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>  
> Looks good to me.
> 
> Applied
> 
And doesn't build... 

Needs
#include <asm/unaligned.h>

I've added it.

Jonathan

> Thanks,
> 
> Jonathan
> 
> > ---
> >  drivers/iio/adc/mcp3422.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/iio/adc/mcp3422.c b/drivers/iio/adc/mcp3422.c
> > index ea24d7c58b12..b247eb209f10 100644
> > --- a/drivers/iio/adc/mcp3422.c
> > +++ b/drivers/iio/adc/mcp3422.c
> > @@ -117,11 +117,11 @@ static int mcp3422_read(struct mcp3422 *adc, int *value, u8 *config)
> >  
> >  	if (sample_rate == MCP3422_SRATE_3) {
> >  		ret = i2c_master_recv(adc->i2c, buf, 4);
> > -		temp = buf[0] << 16 | buf[1] << 8 | buf[2];
> > +		temp = get_unaligned_be24(&buf[0]);
> >  		*config = buf[3];
> >  	} else {
> >  		ret = i2c_master_recv(adc->i2c, buf, 3);
> > -		temp = buf[0] << 8 | buf[1];
> > +		temp = get_unaligned_be16(&buf[0]);
> >  		*config = buf[2];
> >  	}
> >    
> 


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH v1 03/16] iio: adc: ti-ads124s08: Use get_unaligned_be24()
  2020-04-21  0:31 ` [PATCH v1 03/16] iio: adc: ti-ads124s08: Use get_unaligned_be24() Andy Shevchenko
@ 2020-04-25 16:24   ` Jonathan Cameron
  2020-04-25 17:01     ` Andy Shevchenko
  0 siblings, 1 reply; 39+ messages in thread
From: Jonathan Cameron @ 2020-04-25 16:24 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: Peter Meerwald-Stadler, linux-iio

On Tue, 21 Apr 2020 03:31:22 +0300
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> This makes the driver code slightly easier to read.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Added
#include <asm/unaligned.h>
and applied.

Thanks,

Jonathan

> ---
>  drivers/iio/adc/ti-ads124s08.c | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/drivers/iio/adc/ti-ads124s08.c b/drivers/iio/adc/ti-ads124s08.c
> index 552c2be8d87a..2516e42ad00d 100644
> --- a/drivers/iio/adc/ti-ads124s08.c
> +++ b/drivers/iio/adc/ti-ads124s08.c
> @@ -188,7 +188,6 @@ static int ads124s_read(struct iio_dev *indio_dev, unsigned int chan)
>  {
>  	struct ads124s_private *priv = iio_priv(indio_dev);
>  	int ret;
> -	u32 tmp;
>  	struct spi_transfer t[] = {
>  		{
>  			.tx_buf = &priv->data[0],
> @@ -208,9 +207,7 @@ static int ads124s_read(struct iio_dev *indio_dev, unsigned int chan)
>  	if (ret < 0)
>  		return ret;
>  
> -	tmp = priv->data[2] << 16 | priv->data[3] << 8 | priv->data[4];
> -
> -	return tmp;
> +	return get_unaligned_be24(&priv->data[2]);
>  }
>  
>  static int ads124s_read_raw(struct iio_dev *indio_dev,


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH v1 04/16] iio: dac: ltc2632: Use put_unaligned_be24()
  2020-04-21  0:31 ` [PATCH v1 04/16] iio: dac: ltc2632: Use put_unaligned_be24() Andy Shevchenko
@ 2020-04-25 16:26   ` Jonathan Cameron
  0 siblings, 0 replies; 39+ messages in thread
From: Jonathan Cameron @ 2020-04-25 16:26 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: Peter Meerwald-Stadler, linux-iio

On Tue, 21 Apr 2020 03:31:23 +0300
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> This makes the driver code slightly easier to read.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Applied with same include fix.

Jonathan

> ---
>  drivers/iio/dac/ltc2632.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/drivers/iio/dac/ltc2632.c b/drivers/iio/dac/ltc2632.c
> index 7adc91056aa1..5123776cb63e 100644
> --- a/drivers/iio/dac/ltc2632.c
> +++ b/drivers/iio/dac/ltc2632.c
> @@ -75,9 +75,7 @@ static int ltc2632_spi_write(struct spi_device *spi,
>  	 * 10-, 8-bit input code followed by 4, 6, or 8 don't care bits.
>  	 */
>  	data = (cmd << 20) | (addr << 16) | (val << shift);
> -	msg[0] = data >> 16;
> -	msg[1] = data >> 8;
> -	msg[2] = data;
> +	put_unaligned_be24(data, &msg[0]);
>  
>  	return spi_write(spi, msg, sizeof(msg));
>  }


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH v1 05/16] iio: dac: ad5624r_spi: Use put_unaligned_be24()
  2020-04-21  6:43   ` Sa, Nuno
@ 2020-04-25 16:29     ` Jonathan Cameron
  0 siblings, 0 replies; 39+ messages in thread
From: Jonathan Cameron @ 2020-04-25 16:29 UTC (permalink / raw)
  To: Sa, Nuno
  Cc: Andy Shevchenko, Peter Meerwald-Stadler, linux-iio,
	Lars-Peter Clausen, Hennerich, Michael

On Tue, 21 Apr 2020 06:43:44 +0000
"Sa, Nuno" <Nuno.Sa@analog.com> wrote:

> > From: linux-iio-owner@vger.kernel.org <linux-iio-owner@vger.kernel.org>
> > On Behalf Of Andy Shevchenko
> > Sent: Dienstag, 21. April 2020 02:31
> > To: Jonathan Cameron <jic23@kernel.org>; Peter Meerwald-Stadler
> > <pmeerw@pmeerw.net>; linux-iio@vger.kernel.org
> > Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>; Lars-Peter
> > Clausen <lars@metafoo.de>; Hennerich, Michael
> > <Michael.Hennerich@analog.com>
> > Subject: [PATCH v1 05/16] iio: dac: ad5624r_spi: Use put_unaligned_be24()
> > 
> > 
> > This makes the driver code slightly easier to read.
> > 
> > Cc: Lars-Peter Clausen <lars@metafoo.de>
> > Cc: Michael Hennerich <Michael.Hennerich@analog.com>
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > ---
> >  drivers/iio/dac/ad5624r_spi.c | 6 ++----
> >  1 file changed, 2 insertions(+), 4 deletions(-)
> >   
> 
> Acked-by: Nuno Sá <nuno.sa@analog.com>

Applied with missing asm/unaligned header added.

Thanks,

J


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH v1 06/16] iio: dac: ad5446: Use put_unaligned_be24()
  2020-04-21  0:31 ` [PATCH v1 06/16] iio: dac: ad5446: " Andy Shevchenko
@ 2020-04-25 16:31   ` Jonathan Cameron
  0 siblings, 0 replies; 39+ messages in thread
From: Jonathan Cameron @ 2020-04-25 16:31 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Peter Meerwald-Stadler, linux-iio, Lars-Peter Clausen, Michael Hennerich

On Tue, 21 Apr 2020 03:31:25 +0300
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> This makes the driver code slightly easier to read.
> 
> Cc: Lars-Peter Clausen <lars@metafoo.de>
> Cc: Michael Hennerich <Michael.Hennerich@analog.com>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

You've guessed it. Applied with missing header added.

Thanks, J
> ---
>  drivers/iio/dac/ad5446.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/drivers/iio/dac/ad5446.c b/drivers/iio/dac/ad5446.c
> index 61c670f7fc5f..87ff863bdc10 100644
> --- a/drivers/iio/dac/ad5446.c
> +++ b/drivers/iio/dac/ad5446.c
> @@ -302,9 +302,7 @@ static int ad5660_write(struct ad5446_state *st, unsigned val)
>  	struct spi_device *spi = to_spi_device(st->dev);
>  	uint8_t data[3];
>  
> -	data[0] = (val >> 16) & 0xFF;
> -	data[1] = (val >> 8) & 0xFF;
> -	data[2] = val & 0xFF;
> +	put_unaligned_be24(val, &data[0]);
>  
>  	return spi_write(spi, data, sizeof(data));
>  }


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH v1 07/16] iio: gyro: adis16130: Use get_unaligned_be24()
  2020-04-21  6:39   ` Sa, Nuno
@ 2020-04-25 16:34     ` Jonathan Cameron
  0 siblings, 0 replies; 39+ messages in thread
From: Jonathan Cameron @ 2020-04-25 16:34 UTC (permalink / raw)
  To: Sa, Nuno
  Cc: Andy Shevchenko, Peter Meerwald-Stadler, linux-iio,
	Lars-Peter Clausen, Hennerich, Michael

On Tue, 21 Apr 2020 06:39:39 +0000
"Sa, Nuno" <Nuno.Sa@analog.com> wrote:

> > From: linux-iio-owner@vger.kernel.org <linux-iio-owner@vger.kernel.org>
> > On Behalf Of Andy Shevchenko
> > Sent: Dienstag, 21. April 2020 02:31
> > To: Jonathan Cameron <jic23@kernel.org>; Peter Meerwald-Stadler
> > <pmeerw@pmeerw.net>; linux-iio@vger.kernel.org
> > Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>; Lars-Peter
> > Clausen <lars@metafoo.de>; Hennerich, Michael
> > <Michael.Hennerich@analog.com>
> > Subject: [PATCH v1 07/16] iio: gyro: adis16130: Use get_unaligned_be24()
> > 
> > 
> > This makes the driver code slightly easier to read.
> > 
> > Cc: Lars-Peter Clausen <lars@metafoo.de>
> > Cc: Michael Hennerich <Michael.Hennerich@analog.com>
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > ---
> >  drivers/iio/gyro/adis16130.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >   
> 
> Acked-by: Nuno Sá <nuno.sa@analog.com>

Applied with header added...
J

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH v1 08/16] iio: health: afe4403: Use get_unaligned_be24()
  2020-04-21  0:31 ` [PATCH v1 08/16] iio: health: afe4403: " Andy Shevchenko
@ 2020-04-25 16:41   ` Jonathan Cameron
  0 siblings, 0 replies; 39+ messages in thread
From: Jonathan Cameron @ 2020-04-25 16:41 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: Peter Meerwald-Stadler, linux-iio

On Tue, 21 Apr 2020 03:31:27 +0300
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> This makes the driver code slightly easier to read.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Applied with header include added.

J
> ---
>  drivers/iio/health/afe4403.c | 12 ++++--------
>  1 file changed, 4 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/iio/health/afe4403.c b/drivers/iio/health/afe4403.c
> index dc22dc363a99..db44b53e9330 100644
> --- a/drivers/iio/health/afe4403.c
> +++ b/drivers/iio/health/afe4403.c
> @@ -220,13 +220,11 @@ static int afe4403_read(struct afe4403_data *afe, unsigned int reg, u32 *val)
>  	if (ret)
>  		return ret;
>  
> -	ret = spi_write_then_read(afe->spi, &reg, 1, rx, 3);
> +	ret = spi_write_then_read(afe->spi, &reg, 1, rx, sizeof(rx));
>  	if (ret)
>  		return ret;
>  
> -	*val = (rx[0] << 16) |
> -		(rx[1] << 8) |
> -		(rx[2]);
> +	*val = get_unaligned_be24(&rx[0]);
>  
>  	/* Disable reading from the device */
>  	tx[3] = AFE440X_CONTROL0_WRITE;
> @@ -322,13 +320,11 @@ static irqreturn_t afe4403_trigger_handler(int irq, void *private)
>  			 indio_dev->masklength) {
>  		ret = spi_write_then_read(afe->spi,
>  					  &afe4403_channel_values[bit], 1,
> -					  rx, 3);
> +					  rx, sizeof(rx));
>  		if (ret)
>  			goto err;
>  
> -		buffer[i++] = (rx[0] << 16) |
> -				(rx[1] << 8) |
> -				(rx[2]);
> +		buffer[i++] = get_unaligned_be24(&rx[0]);
>  	}
>  
>  	/* Disable reading from the device */


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH v1 09/16] iio: light: si1133: Use get_unaligned_be24()
  2020-04-21  0:31 ` [PATCH v1 09/16] iio: light: si1133: " Andy Shevchenko
@ 2020-04-25 16:41   ` Jonathan Cameron
  0 siblings, 0 replies; 39+ messages in thread
From: Jonathan Cameron @ 2020-04-25 16:41 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Peter Meerwald-Stadler, linux-iio, Maxime Roussin-Bélanger

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,


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH v1 10/16] iio: light: zopt2201: Use get_unaligned_le24()
  2020-04-21  0:31 ` [PATCH v1 10/16] iio: light: zopt2201: Use get_unaligned_le24() Andy Shevchenko
@ 2020-04-25 16:42   ` Jonathan Cameron
  0 siblings, 0 replies; 39+ messages in thread
From: Jonathan Cameron @ 2020-04-25 16:42 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: Peter Meerwald-Stadler, linux-iio

On Tue, 21 Apr 2020 03:31:29 +0300
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> This makes the driver code slightly easier to read.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Applied with asm/unaligned.h include added.

J
> ---
>  drivers/iio/light/zopt2201.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/iio/light/zopt2201.c b/drivers/iio/light/zopt2201.c
> index 5f54f39e7a4c..0df45b42c091 100644
> --- a/drivers/iio/light/zopt2201.c
> +++ b/drivers/iio/light/zopt2201.c
> @@ -219,7 +219,7 @@ static int zopt2201_read(struct zopt2201_data *data, u8 reg)
>  		goto fail;
>  	mutex_unlock(&data->lock);
>  
> -	return (buf[2] << 16) | (buf[1] << 8) | buf[0];
> +	return get_unaligned_le24(&buf[0]);
>  
>  fail:
>  	mutex_unlock(&data->lock);


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH v1 11/16] iio: magnetometer: rm3100: Use get_unaligned_be24()
  2020-04-21  0:31 ` [PATCH v1 11/16] iio: magnetometer: rm3100: Use get_unaligned_be24() Andy Shevchenko
@ 2020-04-25 16:44   ` Jonathan Cameron
  0 siblings, 0 replies; 39+ messages in thread
From: Jonathan Cameron @ 2020-04-25 16:44 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: Peter Meerwald-Stadler, linux-iio, Song Qiang

On Tue, 21 Apr 2020 03:31:30 +0300
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> This makes the driver code slightly easier to read.
> 
> Cc: Song Qiang <songqiang1304521@gmail.com>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Header and typo (see below fixed)

Applied to the togreg branch of iio.git and pushed out as testing
to see what else we missed :(

> ---
>  drivers/iio/magnetometer/rm3100-core.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/iio/magnetometer/rm3100-core.c b/drivers/iio/magnetometer/rm3100-core.c
> index 7c20918d8108..b3ae9a6c439b 100644
> --- a/drivers/iio/magnetometer/rm3100-core.c
> +++ b/drivers/iio/magnetometer/rm3100-core.c
> @@ -223,8 +223,7 @@ static int rm3100_read_mag(struct rm3100_data *data, int idx, int *val)
>  		goto unlock_return;
>  	mutex_unlock(&data->lock);
>  
> -	*val = sign_extend32((buffer[0] << 16) | (buffer[1] << 8) | buffer[2],
> -			     23);
> +	*val = sign_extend32(get_unalinged_be24(&buffer[0]), 23);

unaligned

>  
>  	return IIO_VAL_INT;
>  


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH v1 12/16] iio: pressure: hp206c: Use get_unaligned_be24()
  2020-04-21  0:31 ` [PATCH v1 12/16] iio: pressure: hp206c: " Andy Shevchenko
@ 2020-04-25 16:45   ` Jonathan Cameron
  0 siblings, 0 replies; 39+ messages in thread
From: Jonathan Cameron @ 2020-04-25 16:45 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: Peter Meerwald-Stadler, linux-iio

On Tue, 21 Apr 2020 03:31:31 +0300
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> This makes the driver code slightly easier to read.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Applied with header added.

Jonathan

> ---
>  drivers/iio/pressure/hp206c.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/iio/pressure/hp206c.c b/drivers/iio/pressure/hp206c.c
> index 3ac3632e7242..d746882eccc8 100644
> --- a/drivers/iio/pressure/hp206c.c
> +++ b/drivers/iio/pressure/hp206c.c
> @@ -93,12 +93,12 @@ static int hp206c_read_20bit(struct i2c_client *client, u8 cmd)
>  	int ret;
>  	u8 values[3];
>  
> -	ret = i2c_smbus_read_i2c_block_data(client, cmd, 3, values);
> +	ret = i2c_smbus_read_i2c_block_data(client, cmd, sizeof(values), values);
>  	if (ret < 0)
>  		return ret;
> -	if (ret != 3)
> +	if (ret != sizeof(values))
>  		return -EIO;
> -	return ((values[0] & 0xF) << 16) | (values[1] << 8) | (values[2]);
> +	return get_unaligned_be24(&values[0]) & GENMASK(19, 0);
>  }
>  
>  /* Spin for max 160ms until DEV_RDY is 1, or return error. */


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH v1 13/16] iio: pressure: ms5611: Use get_unaligned_be24()
  2020-04-21  8:36   ` Tomasz Duszynski
@ 2020-04-25 16:48     ` Jonathan Cameron
  0 siblings, 0 replies; 39+ messages in thread
From: Jonathan Cameron @ 2020-04-25 16:48 UTC (permalink / raw)
  To: Tomasz Duszynski; +Cc: Andy Shevchenko, Peter Meerwald-Stadler, linux-iio

On Tue, 21 Apr 2020 10:36:45 +0200
Tomasz Duszynski <tduszyns@gmail.com> wrote:

> On Tue, Apr 21, 2020 at 03:31:32AM +0300, Andy Shevchenko wrote:
> > This makes the driver code slightly easier to read.
> >
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > ---
> >  drivers/iio/pressure/ms5611_i2c.c | 2 +-
> >  drivers/iio/pressure/ms5611_spi.c | 2 +-
> >  2 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/iio/pressure/ms5611_i2c.c b/drivers/iio/pressure/ms5611_i2c.c
> > index 8089c59adce5..ced83162ae94 100644
> > --- a/drivers/iio/pressure/ms5611_i2c.c
> > +++ b/drivers/iio/pressure/ms5611_i2c.c
> > @@ -50,7 +50,7 @@ static int ms5611_i2c_read_adc(struct ms5611_state *st, s32 *val)
> >  	if (ret < 0)
> >  		return ret;
> >
> > -	*val = (buf[0] << 16) | (buf[1] << 8) | buf[2];
> > +	*val = get_unaligned_be24(&buf[0]);
> >
> >  	return 0;
> >  }
> > diff --git a/drivers/iio/pressure/ms5611_spi.c b/drivers/iio/pressure/ms5611_spi.c
> > index b463eaa799ab..517295616869 100644
> > --- a/drivers/iio/pressure/ms5611_spi.c
> > +++ b/drivers/iio/pressure/ms5611_spi.c
> > @@ -45,7 +45,7 @@ static int ms5611_spi_read_adc(struct device *dev, s32 *val)
> >  	if (ret < 0)
> >  		return ret;
> >
> > -	*val = (buf[0] << 16) | (buf[1] << 8) | buf[2];
> > +	*val = get_unaligned_be24(&buf[0]);
> >
> >  	return 0;
> >  }  
> 
> Looks good.
> Acked-by: Tomasz Duszynski <tduszyns@gmail.com>
Added missing asm/unaligned.h includes and applied.

Thanks,

Jonathan

> 
> > --
> > 2.26.1
> >  


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH v1 14/16] iio: pressure: zpa2326: Use get_unaligned_le24()
  2020-04-21  0:31 ` [PATCH v1 14/16] iio: pressure: zpa2326: Use get_unaligned_le24() Andy Shevchenko
@ 2020-04-25 16:50   ` Jonathan Cameron
  0 siblings, 0 replies; 39+ messages in thread
From: Jonathan Cameron @ 2020-04-25 16:50 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: Peter Meerwald-Stadler, linux-iio

On Tue, 21 Apr 2020 03:31:33 +0300
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> This makes the driver code slightly easier to read.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Include added and applied.

Thanks,

Jonathan

> ---
>  drivers/iio/pressure/zpa2326.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/iio/pressure/zpa2326.c b/drivers/iio/pressure/zpa2326.c
> index 99dfe33ee402..c2ad106e3d5b 100644
> --- a/drivers/iio/pressure/zpa2326.c
> +++ b/drivers/iio/pressure/zpa2326.c
> @@ -1005,22 +1005,20 @@ static int zpa2326_fetch_raw_sample(const struct iio_dev *indio_dev,
>  	struct regmap *regs = ((struct zpa2326_private *)
>  			       iio_priv(indio_dev))->regmap;
>  	int            err;
> +	u8             v[3];
>  
>  	switch (type) {
>  	case IIO_PRESSURE:
>  		zpa2326_dbg(indio_dev, "fetching raw pressure sample");
>  
> -		err = regmap_bulk_read(regs, ZPA2326_PRESS_OUT_XL_REG, value,
> -				       3);
> +		err = regmap_bulk_read(regs, ZPA2326_PRESS_OUT_XL_REG, v, sizeof(v));
>  		if (err) {
>  			zpa2326_warn(indio_dev, "failed to fetch pressure (%d)",
>  				     err);
>  			return err;
>  		}
>  
> -		/* Pressure is a 24 bits wide little-endian unsigned int. */
> -		*value = (((u8 *)value)[2] << 16) | (((u8 *)value)[1] << 8) |
> -			 ((u8 *)value)[0];
> +		*value = get_unaligned_le24(&v[0]);
>  
>  		return IIO_VAL_INT;
>  


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH v1 15/16] iio: temperature: max31856: Use get_unaligned_beXX()
  2020-04-21  0:31 ` [PATCH v1 15/16] iio: temperature: max31856: Use get_unaligned_beXX() Andy Shevchenko
@ 2020-04-25 16:51   ` Jonathan Cameron
  0 siblings, 0 replies; 39+ messages in thread
From: Jonathan Cameron @ 2020-04-25 16:51 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: Peter Meerwald-Stadler, linux-iio

On Tue, 21 Apr 2020 03:31:34 +0300
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> This makes the driver code slightly easier to read.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Added missing header and applied,

Thanks,

Jonathan

> ---
>  drivers/iio/temperature/max31856.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/iio/temperature/max31856.c b/drivers/iio/temperature/max31856.c
> index b4cb21ab2e85..e1966889a962 100644
> --- a/drivers/iio/temperature/max31856.c
> +++ b/drivers/iio/temperature/max31856.c
> @@ -168,7 +168,7 @@ static int max31856_thermocouple_read(struct max31856_data *data,
>  		if (ret)
>  			return ret;
>  		/* Skip last 5 dead bits of LTCBL */
> -		*val = (reg_val[0] << 16 | reg_val[1] << 8 | reg_val[2]) >> 5;
> +		*val = get_unaligned_be24(&reg_val[0]) >> 5;
>  		/* Check 7th bit of LTCBH reg. value for sign*/
>  		if (reg_val[0] & 0x80)
>  			*val -= 0x80000;
> @@ -185,7 +185,7 @@ static int max31856_thermocouple_read(struct max31856_data *data,
>  		/* Get Cold Junction Temp. offset register value */
>  		offset_cjto = reg_val[0];
>  		/* Get CJTH and CJTL value and skip last 2 dead bits of CJTL */
> -		*val = (reg_val[1] << 8 | reg_val[2]) >> 2;
> +		*val = get_unaligned_be16(&reg_val[1]) >> 2;
>  		/* As per datasheet add offset into CJTH and CJTL */
>  		*val += offset_cjto;
>  		/* Check 7th bit of CJTH reg. value for sign */


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH v1 16/16] iio: st_sensors: Use get_unaligned_be24() and sign_extend32()
  2020-04-21  0:31 ` [PATCH v1 16/16] iio: st_sensors: Use get_unaligned_be24() and sign_extend32() Andy Shevchenko
@ 2020-04-25 16:53   ` Jonathan Cameron
  2020-04-25 17:04     ` Andy Shevchenko
  0 siblings, 1 reply; 39+ messages in thread
From: Jonathan Cameron @ 2020-04-25 16:53 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: Peter Meerwald-Stadler, linux-iio, Denis Ciocca

On Tue, 21 Apr 2020 03:31:35 +0300
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> Use these functions instead of open-coding them.
> 
> Cc: Denis Ciocca <denis.ciocca@st.com>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
This one already has the header, so applied to the togreg branch of iio.git
and pushed out as testing with no changes :)

Jonathan

> ---
>  drivers/iio/common/st_sensors/st_sensors_core.c | 7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/drivers/iio/common/st_sensors/st_sensors_core.c b/drivers/iio/common/st_sensors/st_sensors_core.c
> index 0e35ff06f9af..bfc39ef64718 100644
> --- a/drivers/iio/common/st_sensors/st_sensors_core.c
> +++ b/drivers/iio/common/st_sensors/st_sensors_core.c
> @@ -20,11 +20,6 @@
>  
>  #include "st_sensors_core.h"
>  
> -static inline u32 st_sensors_get_unaligned_le24(const u8 *p)
> -{
> -	return (s32)((p[0] | p[1] << 8 | p[2] << 16) << 8) >> 8;
> -}
> -
>  int st_sensors_write_data_with_mask(struct iio_dev *indio_dev,
>  				    u8 reg_addr, u8 mask, u8 data)
>  {
> @@ -545,7 +540,7 @@ static int st_sensors_read_axis_data(struct iio_dev *indio_dev,
>  	else if (byte_for_channel == 2)
>  		*data = (s16)get_unaligned_le16(outdata);
>  	else if (byte_for_channel == 3)
> -		*data = (s32)st_sensors_get_unaligned_le24(outdata);
> +		*data = (s32)sign_extend32(get_unaligned_le24(outdata), 23);
>  
>  st_sensors_free_memory:
>  	kfree(outdata);


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH v1 03/16] iio: adc: ti-ads124s08: Use get_unaligned_be24()
  2020-04-25 16:24   ` Jonathan Cameron
@ 2020-04-25 17:01     ` Andy Shevchenko
  0 siblings, 0 replies; 39+ messages in thread
From: Andy Shevchenko @ 2020-04-25 17:01 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: Andy Shevchenko, Peter Meerwald-Stadler, linux-iio

On Sat, Apr 25, 2020 at 7:25 PM Jonathan Cameron <jic23@kernel.org> wrote:
>
> On Tue, 21 Apr 2020 03:31:22 +0300
> Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
>
> > This makes the driver code slightly easier to read.
> >
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Added
> #include <asm/unaligned.h>
> and applied.

Thanks!

-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH v1 16/16] iio: st_sensors: Use get_unaligned_be24() and sign_extend32()
  2020-04-25 16:53   ` Jonathan Cameron
@ 2020-04-25 17:04     ` Andy Shevchenko
  0 siblings, 0 replies; 39+ messages in thread
From: Andy Shevchenko @ 2020-04-25 17:04 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: Andy Shevchenko, Peter Meerwald-Stadler, linux-iio, Denis Ciocca

On Sat, Apr 25, 2020 at 7:54 PM Jonathan Cameron <jic23@kernel.org> wrote:
>
> On Tue, 21 Apr 2020 03:31:35 +0300
> Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
>
> > Use these functions instead of open-coding them.
> >
> > Cc: Denis Ciocca <denis.ciocca@st.com>
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> This one already has the header, so applied to the togreg branch of iio.git
> and pushed out as testing with no changes :)

Thanks, I'm sorry I didn't compile all of them and by some reason
thought they all have it already.
Strange we didn't get kbuild bot complains...

-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2020-04-25 17:04 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-21  0:31 [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24() Andy Shevchenko
2020-04-21  0:31 ` [PATCH v1 02/16] iio: adc: mpc3422: Use get_unaligned_beXX() Andy Shevchenko
2020-04-25 16:14   ` Jonathan Cameron
2020-04-25 16:23     ` Jonathan Cameron
2020-04-21  0:31 ` [PATCH v1 03/16] iio: adc: ti-ads124s08: Use get_unaligned_be24() Andy Shevchenko
2020-04-25 16:24   ` Jonathan Cameron
2020-04-25 17:01     ` Andy Shevchenko
2020-04-21  0:31 ` [PATCH v1 04/16] iio: dac: ltc2632: Use put_unaligned_be24() Andy Shevchenko
2020-04-25 16:26   ` Jonathan Cameron
2020-04-21  0:31 ` [PATCH v1 05/16] iio: dac: ad5624r_spi: " Andy Shevchenko
2020-04-21  6:43   ` Sa, Nuno
2020-04-25 16:29     ` Jonathan Cameron
2020-04-21  0:31 ` [PATCH v1 06/16] iio: dac: ad5446: " Andy Shevchenko
2020-04-25 16:31   ` Jonathan Cameron
2020-04-21  0:31 ` [PATCH v1 07/16] iio: gyro: adis16130: Use get_unaligned_be24() Andy Shevchenko
2020-04-21  6:39   ` Sa, Nuno
2020-04-25 16:34     ` Jonathan Cameron
2020-04-21  0:31 ` [PATCH v1 08/16] iio: health: afe4403: " Andy Shevchenko
2020-04-25 16:41   ` Jonathan Cameron
2020-04-21  0:31 ` [PATCH v1 09/16] iio: light: si1133: " Andy Shevchenko
2020-04-25 16:41   ` Jonathan Cameron
2020-04-21  0:31 ` [PATCH v1 10/16] iio: light: zopt2201: Use get_unaligned_le24() Andy Shevchenko
2020-04-25 16:42   ` Jonathan Cameron
2020-04-21  0:31 ` [PATCH v1 11/16] iio: magnetometer: rm3100: Use get_unaligned_be24() Andy Shevchenko
2020-04-25 16:44   ` Jonathan Cameron
2020-04-21  0:31 ` [PATCH v1 12/16] iio: pressure: hp206c: " Andy Shevchenko
2020-04-25 16:45   ` Jonathan Cameron
2020-04-21  0:31 ` [PATCH v1 13/16] iio: pressure: ms5611: " Andy Shevchenko
2020-04-21  8:36   ` Tomasz Duszynski
2020-04-25 16:48     ` Jonathan Cameron
2020-04-21  0:31 ` [PATCH v1 14/16] iio: pressure: zpa2326: Use get_unaligned_le24() Andy Shevchenko
2020-04-25 16:50   ` Jonathan Cameron
2020-04-21  0:31 ` [PATCH v1 15/16] iio: temperature: max31856: Use get_unaligned_beXX() Andy Shevchenko
2020-04-25 16:51   ` Jonathan Cameron
2020-04-21  0:31 ` [PATCH v1 16/16] iio: st_sensors: Use get_unaligned_be24() and sign_extend32() Andy Shevchenko
2020-04-25 16:53   ` Jonathan Cameron
2020-04-25 17:04     ` Andy Shevchenko
2020-04-21  6:41 ` [PATCH v1 01/16] iio: adc: ad_sigma_delta: Use {get,put}_unaligned_be24() Sa, Nuno
2020-04-25 16:12   ` Jonathan Cameron

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.