* [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, ®, 1, rx, 3);
+ ret = spi_write_then_read(afe->spi, ®, 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(®_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(®_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, ®, 1, rx, 3);
> + ret = spi_write_then_read(afe->spi, ®, 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(®_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(®_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.