Skip to contentSkip to conversation

iio:measurement specialties core: Fix endian sparse warnings.

PATCH In review Jonathan Cameron 3 participants 7 messages Oct 11, 2015 – Oct 12, 2015 IIO

lore
Share & tools
lore

Jonathan Cameron

author maintainer
#0 lore raw

PATCH 1/1 iio:measurement specialties core: Fix endian sparse warnings.

This patch changes various types to the appropriate endian specific versions. Also introduces an additional local variable to avoid a single variable being used for both be and cpu endianness.

These aren't bugs as such, but clearing them up does make the code clearer.

Warning was:
sparse warnings: (new ones prefixed by >>)

Quoted 6 lines
Quoted 6 lines

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32

Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: sparse: incorrect type in assignment (different base types)

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: expected unsigned short [unsigned] [addressable] [usertype] send_buf
drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: got restricted __be16 [usertype] <noident>

Quoted 10 lines
Quoted 10 lines

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: sparse: incorrect type in assignment (different base types)
drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: expected unsigned short [unsigned] [addressable] [usertype] send_buf
drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: got restricted __be16 [usertype] <noident>
drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64

---
 drivers/iio/common/ms_sensors/ms_sensors_i2c.c | 29 +++++++++++++-------------
 1 file changed, 15 insertions(+), 14 deletions(-)
drivers/iio/common/ms_sensors/ms_sensors_i2c.c +15 -14
index 056c4f3bf497..669dc7c270f5 100644
@@ -106,7 +106,7 @@ int ms_sensors_convert_and_read(void *cli, u8 conv, u8 rd,
 				unsigned int delay, u32 *adc)
 {
 	int ret;
-	u32 buf = 0;
+        __be32 buf = 0;
 	struct i2c_client *client = (struct i2c_client *)cli;
 
 	/* Trigger conversion */
@@ -186,8 +186,9 @@ static bool ms_sensors_crc_valid(u32 value)
 int ms_sensors_read_serial(struct i2c_client *client, u64 *sn)
 {
 	u8 i;
-	u64 rcv_buf = 0;
-	u16 send_buf;
+	__be64 rcv_buf = 0;
+	u64 rcv_val;
+	__be16 send_buf;
 	int ret;
 
 	struct i2c_msg msg[2] = {
@@ -213,18 +214,18 @@ int ms_sensors_read_serial(struct i2c_client *client, u64 *sn)
 		return ret;
 	}
 
-	rcv_buf = be64_to_cpu(rcv_buf);
-	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_buf);
+	rcv_val = be64_to_cpu(rcv_buf);
+	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_val);
 
 	for (i = 0; i < 64; i += 16) {
-		if (!ms_sensors_crc_valid((rcv_buf >> i) & 0xFFFF))
+		if (!ms_sensors_crc_valid((rcv_val >> i) & 0xFFFF))
 			return -ENODEV;
 	}
 
-	*sn = (((rcv_buf >> 32) & 0xFF000000) |
-	       ((rcv_buf >> 24) & 0x00FF0000) |
-	       ((rcv_buf >> 16) & 0x0000FF00) |
-	       ((rcv_buf >> 8) & 0x000000FF)) << 16;
+	*sn = (((rcv_val >> 32) & 0xFF000000) |
+	       ((rcv_val >> 24) & 0x00FF0000) |
+	       ((rcv_val >> 16) & 0x0000FF00) |
+	       ((rcv_val >> 8) & 0x000000FF)) << 16;
 
 	/* Read LSB part of serial number */
 	send_buf = cpu_to_be16(MS_SENSORS_SERIAL_READ_LSB);
@@ -236,15 +237,15 @@ int ms_sensors_read_serial(struct i2c_client *client, u64 *sn)
 		return ret;
 	}
 
-	rcv_buf = be64_to_cpu(rcv_buf) >> 16;
-	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_buf);
+	rcv_val = be64_to_cpu(rcv_buf) >> 16;
+	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_val);
 
 	for (i = 0; i < 48; i += 24) {
-		if (!ms_sensors_crc_valid((rcv_buf >> i) & 0xFFFFFF))
+		if (!ms_sensors_crc_valid((rcv_val >> i) & 0xFFFFFF))
 			return -ENODEV;
 	}
 
-	*sn |= (rcv_buf & 0xFFFF00) << 40 | (rcv_buf >> 32);
+	*sn |= (rcv_val & 0xFFFF00) << 40 | (rcv_val >> 32);
 
 	return 0;
 }
Signature · 1 line
2.6.0
author maintainer
#1 lore raw

If anyone can take a quick look at this today (ideally Ludovic! but I appreciate it's a Sunday) that would be great as this is stalling my sending pull request to Greg.

I 'might' apply it anyway on the basis it is straight forward but nice to have a sanity check from someone!

Jonathan

Quoted 128 lines · Jonathan Cameron

This patch changes various types to the appropriate endian specific versions. Also introduces an additional local variable to avoid a single variable being used for both be and cpu endianness.

These aren't bugs as such, but clearing them up does make the code clearer.

Warning was:
sparse warnings: (new ones prefixed by >>)

Quoted 6 lines
Quoted 6 lines

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32

Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: sparse: incorrect type in assignment (different base types)

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: expected unsigned short [unsigned] [addressable] [usertype] send_buf
drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: got restricted __be16 [usertype] <noident>

Quoted 10 lines
Quoted 10 lines

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: sparse: incorrect type in assignment (different base types)
drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: expected unsigned short [unsigned] [addressable] [usertype] send_buf
drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: got restricted __be16 [usertype] <noident>
drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64

---
 drivers/iio/common/ms_sensors/ms_sensors_i2c.c | 29 +++++++++++++-------------
 1 file changed, 15 insertions(+), 14 deletions(-)
drivers/iio/common/ms_sensors/ms_sensors_i2c.c +15 -14
index 056c4f3bf497..669dc7c270f5 100644
@@ -106,7 +106,7 @@ int ms_sensors_convert_and_read(void *cli, u8 conv, u8 rd,
 				unsigned int delay, u32 *adc)
 {
 	int ret;
-	u32 buf = 0;
+        __be32 buf = 0;
 	struct i2c_client *client = (struct i2c_client *)cli;
 
 	/* Trigger conversion */
@@ -186,8 +186,9 @@ static bool ms_sensors_crc_valid(u32 value)
 int ms_sensors_read_serial(struct i2c_client *client, u64 *sn)
 {
 	u8 i;
-	u64 rcv_buf = 0;
-	u16 send_buf;
+	__be64 rcv_buf = 0;
+	u64 rcv_val;
+	__be16 send_buf;
 	int ret;
 
 	struct i2c_msg msg[2] = {
@@ -213,18 +214,18 @@ int ms_sensors_read_serial(struct i2c_client *client, u64 *sn)
 		return ret;
 	}
 
-	rcv_buf = be64_to_cpu(rcv_buf);
-	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_buf);
+	rcv_val = be64_to_cpu(rcv_buf);
+	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_val);
 
 	for (i = 0; i < 64; i += 16) {
-		if (!ms_sensors_crc_valid((rcv_buf >> i) & 0xFFFF))
+		if (!ms_sensors_crc_valid((rcv_val >> i) & 0xFFFF))
 			return -ENODEV;
 	}
 
-	*sn = (((rcv_buf >> 32) & 0xFF000000) |
-	       ((rcv_buf >> 24) & 0x00FF0000) |
-	       ((rcv_buf >> 16) & 0x0000FF00) |
-	       ((rcv_buf >> 8) & 0x000000FF)) << 16;
+	*sn = (((rcv_val >> 32) & 0xFF000000) |
+	       ((rcv_val >> 24) & 0x00FF0000) |
+	       ((rcv_val >> 16) & 0x0000FF00) |
+	       ((rcv_val >> 8) & 0x000000FF)) << 16;
 
 	/* Read LSB part of serial number */
 	send_buf = cpu_to_be16(MS_SENSORS_SERIAL_READ_LSB);
@@ -236,15 +237,15 @@ int ms_sensors_read_serial(struct i2c_client *client, u64 *sn)
 		return ret;
 	}
 
-	rcv_buf = be64_to_cpu(rcv_buf) >> 16;
-	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_buf);
+	rcv_val = be64_to_cpu(rcv_buf) >> 16;
+	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_val);
 
 	for (i = 0; i < 48; i += 24) {
-		if (!ms_sensors_crc_valid((rcv_buf >> i) & 0xFFFFFF))
+		if (!ms_sensors_crc_valid((rcv_val >> i) & 0xFFFFFF))
 			return -ENODEV;
 	}
 
-	*sn |= (rcv_buf & 0xFFFF00) << 40 | (rcv_buf >> 32);
+	*sn |= (rcv_val & 0xFFFF00) << 40 | (rcv_val >> 32);
 
 	return 0;
 }
#2 lore raw

Hello Jonathan

I often work on Sunday, so it is not a pb.

I apologize for not correcting this myself, I was not sure what had to be done … I had a look and this looks ok.

I cannot test this today as I do not have access to HW, but can surely test the patch tomorrow morning.

Thanks a lot for doing the change,
regards,
Ludo

Quoted 141 lines · Jonathan Cameron

If anyone can take a quick look at this today (ideally Ludovic! but I appreciate it's a Sunday) that would be great as this is stalling my sending pull request to Greg.

I 'might' apply it anyway on the basis it is straight forward but nice to have a sanity check from someone!

Jonathan

Quoted 128 lines · Jonathan Cameron

This patch changes various types to the appropriate endian specific versions. Also introduces an additional local variable to avoid a single variable being used for both be and cpu endianness.

These aren't bugs as such, but clearing them up does make the code clearer.

Warning was:
sparse warnings: (new ones prefixed by >>)

Quoted 6 lines
Quoted 6 lines

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32

Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: sparse: incorrect type in assignment (different base types)

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: expected unsigned short [unsigned] [addressable] [usertype] send_buf
drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: got restricted __be16 [usertype] <noident>

Quoted 10 lines
Quoted 10 lines

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: sparse: incorrect type in assignment (different base types)
drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: expected unsigned short [unsigned] [addressable] [usertype] send_buf
drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: got restricted __be16 [usertype] <noident>
drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64

---
drivers/iio/common/ms_sensors/ms_sensors_i2c.c | 29 +++++++++++++-------------

1 file changed, 15 insertions(+), 14 deletions(-)
drivers/iio/common/ms_sensors/ms_sensors_i2c.c +15 -14
index 056c4f3bf497..669dc7c270f5 100644
@@ -106,7 +106,7 @@ int ms_sensors_convert_and_read(void *cli, u8 conv, u8 rd,
 				unsigned int delay, u32 *adc)
 {
 	int ret;
-	u32 buf = 0;
+        __be32 buf = 0;
 	struct i2c_client *client = (struct i2c_client *)cli;
 
 	/* Trigger conversion */
@@ -186,8 +186,9 @@ static bool ms_sensors_crc_valid(u32 value)
 int ms_sensors_read_serial(struct i2c_client *client, u64 *sn)
 {
 	u8 i;
-	u64 rcv_buf = 0;
-	u16 send_buf;
+	__be64 rcv_buf = 0;
+	u64 rcv_val;
+	__be16 send_buf;
 	int ret;
 
 	struct i2c_msg msg[2] = {
@@ -213,18 +214,18 @@ int ms_sensors_read_serial(struct i2c_client *client, u64 *sn)
 		return ret;
 	}
 
-	rcv_buf = be64_to_cpu(rcv_buf);
-	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_buf);
+	rcv_val = be64_to_cpu(rcv_buf);
+	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_val);
 
 	for (i = 0; i < 64; i += 16) {
-		if (!ms_sensors_crc_valid((rcv_buf >> i) & 0xFFFF))
+		if (!ms_sensors_crc_valid((rcv_val >> i) & 0xFFFF))
 			return -ENODEV;
 	}
 
-	*sn = (((rcv_buf >> 32) & 0xFF000000) |
-	       ((rcv_buf >> 24) & 0x00FF0000) |
-	       ((rcv_buf >> 16) & 0x0000FF00) |
-	       ((rcv_buf >> 8) & 0x000000FF)) << 16;
+	*sn = (((rcv_val >> 32) & 0xFF000000) |
+	       ((rcv_val >> 24) & 0x00FF0000) |
+	       ((rcv_val >> 16) & 0x0000FF00) |
+	       ((rcv_val >> 8) & 0x000000FF)) << 16;
 
 	/* Read LSB part of serial number */
 	send_buf = cpu_to_be16(MS_SENSORS_SERIAL_READ_LSB);
@@ -236,15 +237,15 @@ int ms_sensors_read_serial(struct i2c_client *client, u64 *sn)
 		return ret;
 	}
 
-	rcv_buf = be64_to_cpu(rcv_buf) >> 16;
-	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_buf);
+	rcv_val = be64_to_cpu(rcv_buf) >> 16;
+	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_val);
 
 	for (i = 0; i < 48; i += 24) {
-		if (!ms_sensors_crc_valid((rcv_buf >> i) & 0xFFFFFF))
+		if (!ms_sensors_crc_valid((rcv_val >> i) & 0xFFFFFF))
 			return -ENODEV;
 	}
 
-	*sn |= (rcv_buf & 0xFFFF00) << 40 | (rcv_buf >> 32);
+	*sn |= (rcv_val & 0xFFFF00) << 40 | (rcv_val >> 32);
 
 	return 0;
 }
author maintainer
#3 lore raw
Quoted 5 lines · On 11/10/15 13:16, [email protected] wrote:

Hello Jonathan

I often work on Sunday, so it is not a pb.

I apologize for not correcting this myself, I was not sure what had to be done …

That's quite alright. I'm rubbish at spotting this particular issue in drivers or we'd have dealt with it earlier + my sparse was out of date (now it reports the same as the autobuilder one).

Quoted 1 line

I had a look and this looks ok.

Cool

Quoted 2 lines

I cannot test this today as I do not have access to HW, but can surely test the patch tomorrow morning.

I'll probably set up my pull request then but not actually send it until I get an OK from you.

Quoted 154 lines

Thanks a lot for doing the change,
regards,
Ludo

Quoted 134 lines · Jonathan Cameron

If anyone can take a quick look at this today (ideally Ludovic! but I appreciate it's a Sunday) that would be great as this is stalling my sending pull request to Greg.

I 'might' apply it anyway on the basis it is straight forward but nice to have a sanity check from someone!

Jonathan

Quoted 122 lines · Jonathan Cameron

This patch changes various types to the appropriate endian specific versions. Also introduces an additional local variable to avoid a single variable being used for both be and cpu endianness.

These aren't bugs as such, but clearing them up does make the code clearer.

Warning was:
sparse warnings: (new ones prefixed by >>)

Quoted 6 lines
Quoted 6 lines

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32

Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: sparse: incorrect type in assignment (different base types)

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: expected unsigned short [unsigned] [addressable] [usertype] send_buf
drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: got restricted __be16 [usertype] <noident>

Quoted 10 lines
Quoted 10 lines

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: sparse: incorrect type in assignment (different base types)
drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: expected unsigned short [unsigned] [addressable] [usertype] send_buf
drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: got restricted __be16 [usertype] <noident>
drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64

---
drivers/iio/common/ms_sensors/ms_sensors_i2c.c | 29 +++++++++++++-------------

1 file changed, 15 insertions(+), 14 deletions(-)
drivers/iio/common/ms_sensors/ms_sensors_i2c.c +14 -13
index 056c4f3bf497..669dc7c270f5 100644
@@ -106,7 +106,7 @@ int ms_sensors_convert_and_read(void *cli, u8 conv, u8 rd,
 				unsigned int delay, u32 *adc)
 {
 	int ret;
-	u32 buf = 0;
+        __be32 buf = 0;
 	struct i2c_client *client = (struct i2c_client *)cli;
 
 	/* Trigger conversion */
@@ -186,8 +186,9 @@ static bool ms_sensors_crc_valid(u32 value)
 int ms_sensors_read_serial(struct i2c_client *client, u64 *sn)
 {
 	u8 i;
-	u64 rcv_buf = 0;
-	u16 send_buf;
+	__be64 rcv_buf = 0;
+	u64 rcv_val;
+	__be16 send_buf;
 	int ret;
 
 	struct i2c_msg msg[2] = {
@@ -213,18 +214,18 @@ int ms_sensors_read_serial(struct i2c_client *client, u64 *sn)
 		return ret;
 	}
 
-	rcv_buf = be64_to_cpu(rcv_buf);
-	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_buf);
+	rcv_val = be64_to_cpu(rcv_buf);
+	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_val);
 
 	for (i = 0; i < 64; i += 16) {
-		if (!ms_sensors_crc_valid((rcv_buf >> i) & 0xFFFF))
+		if (!ms_sensors_crc_valid((rcv_val >> i) & 0xFFFF))
 			return -ENODEV;
 	}
 
-	*sn = (((rcv_buf >> 32) & 0xFF000000) |
-	       ((rcv_buf >> 24) & 0x00FF0000) |
-	       ((rcv_buf >> 16) & 0x0000FF00) |
-	       ((rcv_buf >> 8) & 0x000000FF)) << 16;
+	*sn = (((rcv_val >> 32) & 0xFF000000) |
+	       ((rcv_val >> 24) & 0x00FF0000) |
+	       ((rcv_val >> 16) & 0x0000FF00) |
+	       ((rcv_val >> 8) & 0x000000FF)) << 16;
 
 	/* Read LSB part of serial number */
 	send_buf = cpu_to_be16(MS_SENSORS_SERIAL_READ_LSB);
@@ -236,15 +237,15 @@ int ms_sensors_read_serial(struct i2c_client *client, u64 *sn)
 		return ret;
 	}
 
-	rcv_buf = be64_to_cpu(rcv_buf) >> 16;
-	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_buf);
+	rcv_val = be64_to_cpu(rcv_buf) >> 16;
+	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_val);
 
 	for (i = 0; i < 48; i += 24) {
-		if (!ms_sensors_crc_valid((rcv_buf >> i) & 0xFFFFFF))
+		if (!ms_sensors_crc_valid((rcv_val >> i) & 0xFFFFFF))
 			return -ENODEV;
 	}
 
Quoted 7 lines

drivers/iio/common/ms_sensors/ms_sensors_i2c.c int ms_sensors_read_serial(struct i2c_client *client, u64 *sn) · line 251

Quoted 6 lines
drivers/iio/common/ms_sensors/ms_sensors_i2c.c +1 -1
-	*sn |= (rcv_buf & 0xFFFF00) << 40 | (rcv_buf >> 32);
+	*sn |= (rcv_val & 0xFFFF00) << 40 | (rcv_val >> 32);
 
 	return 0;
 }

--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#4 lore raw

Hello Jonathan,

I was able to test the patch, and checked items impacted with your change.

Quoted 1 line

From my prospective it is ok to apply.

Regards,
Ludovic

Quoted 177 lines · Jonathan Cameron
Quoted 5 lines · On 11/10/15 13:16, [email protected] wrote:

Hello Jonathan

I often work on Sunday, so it is not a pb.

I apologize for not correcting this myself, I was not sure what had to be done …

That's quite alright. I'm rubbish at spotting this particular issue in drivers or we'd have dealt with it earlier + my sparse was out of date (now it reports the same as the autobuilder one).

Quoted 1 line

I had a look and this looks ok.

Cool

Quoted 2 lines

I cannot test this today as I do not have access to HW, but can surely test the patch tomorrow morning.

I'll probably set up my pull request then but not actually send it until I get an OK from you.

Quoted 149 lines

Thanks a lot for doing the change,
regards,
Ludo

Quoted 134 lines · Jonathan Cameron

If anyone can take a quick look at this today (ideally Ludovic! but I appreciate it's a Sunday) that would be great as this is stalling my sending pull request to Greg.

I 'might' apply it anyway on the basis it is straight forward but nice to have a sanity check from someone!

Jonathan

Quoted 122 lines · Jonathan Cameron

This patch changes various types to the appropriate endian specific versions. Also introduces an additional local variable to avoid a single variable being used for both be and cpu endianness.

These aren't bugs as such, but clearing them up does make the code clearer.

Warning was:
sparse warnings: (new ones prefixed by >>)

Quoted 6 lines
Quoted 6 lines

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32

Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: sparse: incorrect type in assignment (different base types)

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: expected unsigned short [unsigned] [addressable] [usertype] send_buf
drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: got restricted __be16 [usertype] <noident>

Quoted 10 lines
Quoted 10 lines

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: sparse: incorrect type in assignment (different base types)
drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: expected unsigned short [unsigned] [addressable] [usertype] send_buf
drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: got restricted __be16 [usertype] <noident>
drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64

---
drivers/iio/common/ms_sensors/ms_sensors_i2c.c | 29 +++++++++++++-------------

1 file changed, 15 insertions(+), 14 deletions(-)
drivers/iio/common/ms_sensors/ms_sensors_i2c.c +14 -13
index 056c4f3bf497..669dc7c270f5 100644
@@ -106,7 +106,7 @@ int ms_sensors_convert_and_read(void *cli, u8 conv, u8 rd,
 				unsigned int delay, u32 *adc)
 {
 	int ret;
-	u32 buf = 0;
+        __be32 buf = 0;
 	struct i2c_client *client = (struct i2c_client *)cli;
 
 	/* Trigger conversion */
@@ -186,8 +186,9 @@ static bool ms_sensors_crc_valid(u32 value)
 int ms_sensors_read_serial(struct i2c_client *client, u64 *sn)
 {
 	u8 i;
-	u64 rcv_buf = 0;
-	u16 send_buf;
+	__be64 rcv_buf = 0;
+	u64 rcv_val;
+	__be16 send_buf;
 	int ret;
 
 	struct i2c_msg msg[2] = {
@@ -213,18 +214,18 @@ int ms_sensors_read_serial(struct i2c_client *client, u64 *sn)
 		return ret;
 	}
 
-	rcv_buf = be64_to_cpu(rcv_buf);
-	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_buf);
+	rcv_val = be64_to_cpu(rcv_buf);
+	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_val);
 
 	for (i = 0; i < 64; i += 16) {
-		if (!ms_sensors_crc_valid((rcv_buf >> i) & 0xFFFF))
+		if (!ms_sensors_crc_valid((rcv_val >> i) & 0xFFFF))
 			return -ENODEV;
 	}
 
-	*sn = (((rcv_buf >> 32) & 0xFF000000) |
-	       ((rcv_buf >> 24) & 0x00FF0000) |
-	       ((rcv_buf >> 16) & 0x0000FF00) |
-	       ((rcv_buf >> 8) & 0x000000FF)) << 16;
+	*sn = (((rcv_val >> 32) & 0xFF000000) |
+	       ((rcv_val >> 24) & 0x00FF0000) |
+	       ((rcv_val >> 16) & 0x0000FF00) |
+	       ((rcv_val >> 8) & 0x000000FF)) << 16;
 
 	/* Read LSB part of serial number */
 	send_buf = cpu_to_be16(MS_SENSORS_SERIAL_READ_LSB);
@@ -236,15 +237,15 @@ int ms_sensors_read_serial(struct i2c_client *client, u64 *sn)
 		return ret;
 	}
 
-	rcv_buf = be64_to_cpu(rcv_buf) >> 16;
-	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_buf);
+	rcv_val = be64_to_cpu(rcv_buf) >> 16;
+	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_val);
 
 	for (i = 0; i < 48; i += 24) {
-		if (!ms_sensors_crc_valid((rcv_buf >> i) & 0xFFFFFF))
+		if (!ms_sensors_crc_valid((rcv_val >> i) & 0xFFFFFF))
 			return -ENODEV;
 	}
 
Quoted 7 lines

drivers/iio/common/ms_sensors/ms_sensors_i2c.c int ms_sensors_read_serial(struct i2c_client *client, u64 *sn) · line 251

Quoted 6 lines
drivers/iio/common/ms_sensors/ms_sensors_i2c.c +1 -1
-	*sn |= (rcv_buf & 0xFFFF00) << 40 | (rcv_buf >> 32);
+	*sn |= (rcv_val & 0xFFFF00) << 40 | (rcv_val >> 32);
 
 	return 0;
 }
Quoted 5 lines

--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#5 lore raw
Quoted 8 lines · On 12 October 2015 10:36:06 BST, "[email protected]"…

Hello Jonathan,

I was able to test the patch, and checked items impacted with your change.

Quoted 1 line

From my prospective it is ok to apply.

Regards,
Ludovic

Thanks

A formal Acked-by always appreciated with patches like this one...

J

Quoted 239 lines
Quoted 3 lines

Le 11 oct. 2015 à 15:29, Jonathan Cameron <[email protected]> a écrit

:

Quoted 7 lines · On 11/10/15 13:16, [email protected] wrote:
Quoted 5 lines

Hello Jonathan

I often work on Sunday, so it is not a pb.

I apologize for not correcting this myself, I was not sure what had

to be done …

Quoted 1 line

That's quite alright. I'm rubbish at spotting this particular issue

in drivers

Quoted 1 line

or we'd have dealt with it earlier + my sparse was out of date (now

it reports

Quoted 6 lines

the same as the autobuilder one).

Quoted 1 line

I had a look and this looks ok.

Cool

Quoted 2 lines

I cannot test this today as I do not have access to HW, but can

surely test the patch tomorrow morning.

Quoted 1 line

I'll probably set up my pull request then but not actually send it

until I get an OK from

Quoted 9 lines

you.

Quoted 8 lines

Thanks a lot for doing the change,
regards,
Ludo

Quoted 1 line

Le 11 oct. 2015 à 13:57, Jonathan Cameron <[email protected]> a

écrit :

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

If anyone can take a quick look at this today (ideally Ludovic! but

I appreciate it's a Sunday)

Quoted 1 line
Quoted 1 line
Quoted 1 line

that would be great as this is stalling my sending pull request to

Greg.

Quoted 9 lines
Quoted 9 lines
Quoted 9 lines

I 'might' apply it anyway on the basis it is straight forward but nice to have a sanity check from someone!

Jonathan

Quoted 1 line · Jonathan Cameron

This patch changes various types to the appropriate endian

specific

Quoted 10 lines
Quoted 10 lines
Quoted 10 lines
Quoted 10 lines

versions. Also introduces an additional local variable to avoid a single variable being used for both be and cpu endianness.

These aren't bugs as such, but clearing them up does make the code clearer.

Warning was:
sparse warnings: (new ones prefixed by >>)

Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse:

cast to restricted __be32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse:

cast to restricted __be32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse:

cast to restricted __be32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse:

cast to restricted __be32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse:

cast to restricted __be32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse:

cast to restricted __be32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse:

cast to restricted __be32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse:

cast to restricted __be32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse:

cast to restricted __be32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse:

cast to restricted __be32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse:

cast to restricted __be32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse:

cast to restricted __be32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: sparse:

incorrect type in assignment (different base types)

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18:

expected unsigned short [unsigned] [addressable] [usertype] send_buf

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: got

restricted __be16 [usertype] <noident>

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: sparse:

incorrect type in assignment (different base types)

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18:

expected unsigned short [unsigned] [addressable] [usertype] send_buf

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: got

restricted __be16 [usertype] <noident>

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse:

cast to restricted __be64

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

---
drivers/iio/common/ms_sensors/ms_sensors_i2c.c | 29

+++++++++++++-------------

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

Review

Quoted 3 lines
1 file changed, 15 insertions(+), 14 deletions(-)
(quoted diff) +0 -0

b/drivers/iio/common/ms_sensors/ms_sensors_i2c.c

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines

drivers/iio/common/ms_sensors/ms_sensors_i2c.c int ms_sensors_convert_and_read(void *cli, u8

Quoted 4 lines

index 056c4f3bf497..669dc7c270f5 100644

drivers/iio/common/ms_sensors/ms_sensors_i2c.c +0 -0
@@ -106,7 +106,7 @@ int ms_sensors_convert_and_read(void *cli, u8

conv, u8 rd,

Quoted 19 lines
Quoted 19 lines
Quoted 19 lines
Quoted 19 lines
drivers/iio/common/ms_sensors/ms_sensors_i2c.c +4 -3
 				unsigned int delay, u32 *adc)
 {
 	int ret;
-	u32 buf = 0;
+        __be32 buf = 0;
 	struct i2c_client *client = (struct i2c_client *)cli;
 
 	/* Trigger conversion */
@@ -186,8 +186,9 @@ static bool ms_sensors_crc_valid(u32 value)
 int ms_sensors_read_serial(struct i2c_client *client, u64 *sn)
 {
 	u8 i;
-	u64 rcv_buf = 0;
-	u16 send_buf;
+	__be64 rcv_buf = 0;
+	u64 rcv_val;
+	__be16 send_buf;
 	int ret;
 
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

drivers/iio/common/ms_sensors/ms_sensors_i2c.c int ms_sensors_read_serial(struct i2c_client

Quoted 2 lines
drivers/iio/common/ms_sensors/ms_sensors_i2c.c +0 -0
 	struct i2c_msg msg[2] = {
@@ -213,18 +214,18 @@ int ms_sensors_read_serial(struct i2c_client

*client, u64 *sn)

Quoted 23 lines
Quoted 23 lines
Quoted 23 lines
Quoted 23 lines
drivers/iio/common/ms_sensors/ms_sensors_i2c.c +7 -7
 		return ret;
 	}
 
-	rcv_buf = be64_to_cpu(rcv_buf);
-	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_buf);
+	rcv_val = be64_to_cpu(rcv_buf);
+	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_val);
 
 	for (i = 0; i < 64; i += 16) {
-		if (!ms_sensors_crc_valid((rcv_buf >> i) & 0xFFFF))
+		if (!ms_sensors_crc_valid((rcv_val >> i) & 0xFFFF))
 			return -ENODEV;
 	}
 
-	*sn = (((rcv_buf >> 32) & 0xFF000000) |
-	       ((rcv_buf >> 24) & 0x00FF0000) |
-	       ((rcv_buf >> 16) & 0x0000FF00) |
-	       ((rcv_buf >> 8) & 0x000000FF)) << 16;
+	*sn = (((rcv_val >> 32) & 0xFF000000) |
+	       ((rcv_val >> 24) & 0x00FF0000) |
+	       ((rcv_val >> 16) & 0x0000FF00) |
+	       ((rcv_val >> 8) & 0x000000FF)) << 16;
 
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

drivers/iio/common/ms_sensors/ms_sensors_i2c.c int ms_sensors_read_serial(struct i2c_client

Quoted 3 lines
drivers/iio/common/ms_sensors/ms_sensors_i2c.c +0 -0
 	/* Read LSB part of serial number */
 	send_buf = cpu_to_be16(MS_SENSORS_SERIAL_READ_LSB);
@@ -236,15 +237,15 @@ int ms_sensors_read_serial(struct i2c_client

*client, u64 *sn)

Quoted 17 lines
Quoted 17 lines
Quoted 17 lines
Quoted 17 lines
drivers/iio/common/ms_sensors/ms_sensors_i2c.c +4 -4
 		return ret;
 	}
 
-	rcv_buf = be64_to_cpu(rcv_buf) >> 16;
-	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_buf);
+	rcv_val = be64_to_cpu(rcv_buf) >> 16;
+	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_val);
 
 	for (i = 0; i < 48; i += 24) {
-		if (!ms_sensors_crc_valid((rcv_buf >> i) & 0xFFFFFF))
+		if (!ms_sensors_crc_valid((rcv_val >> i) & 0xFFFFFF))
 			return -ENODEV;
 	}
 
-	*sn |= (rcv_buf & 0xFFFF00) << 40 | (rcv_buf >> 32);
+	*sn |= (rcv_val & 0xFFFF00) << 40 | (rcv_val >> 32);
 
Quoted 7 lines
Quoted 7 lines
Quoted 4 lines

drivers/iio/common/ms_sensors/ms_sensors_i2c.c int ms_sensors_read_serial(struct i2c_client *client, u64 *sn) · line 251

Quoted 3 lines
drivers/iio/common/ms_sensors/ms_sensors_i2c.c +0 -0
 	return 0;
 }

--
To unsubscribe from this list: send the line "unsubscribe linux-iio"

in

Quoted 6 lines
Quoted 3 lines

the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-iio"

in

Quoted 2 lines

the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Signature · 1 line
Sent from my Android device with K-9 Mail. Please excuse my brevity.
author maintainer Applied
#6 lore raw
Quoted 7 lines · Jonathan Cameron
Quoted 4 lines · On 12 October 2015 10:36:06 BST, "[email protected]"…

Hello Jonathan,

I was able to test the patch, and checked items impacted with your change.

Quoted 7 lines
Quoted 4 lines
Quoted 1 line

From my prospective it is ok to apply.

Regards,
Ludovic

Thanks

A formal Acked-by always appreciated with patches like this one...

Applied.

Quoted 242 lines

J

Quoted 239 lines
Quoted 3 lines

Le 11 oct. 2015 à 15:29, Jonathan Cameron <[email protected]> a écrit

:

Quoted 7 lines · On 11/10/15 13:16, [email protected] wrote:
Quoted 5 lines

Hello Jonathan

I often work on Sunday, so it is not a pb.

I apologize for not correcting this myself, I was not sure what had

to be done …

Quoted 1 line

That's quite alright. I'm rubbish at spotting this particular issue

in drivers

Quoted 1 line

or we'd have dealt with it earlier + my sparse was out of date (now

it reports

Quoted 6 lines

the same as the autobuilder one).

Quoted 1 line

I had a look and this looks ok.

Cool

Quoted 2 lines

I cannot test this today as I do not have access to HW, but can

surely test the patch tomorrow morning.

Quoted 1 line

I'll probably set up my pull request then but not actually send it

until I get an OK from

Quoted 9 lines

you.

Quoted 8 lines

Thanks a lot for doing the change,
regards,
Ludo

Quoted 1 line

Le 11 oct. 2015 à 13:57, Jonathan Cameron <[email protected]> a

écrit :

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

If anyone can take a quick look at this today (ideally Ludovic! but

I appreciate it's a Sunday)

Quoted 1 line
Quoted 1 line
Quoted 1 line

that would be great as this is stalling my sending pull request to

Greg.

Quoted 9 lines
Quoted 9 lines
Quoted 9 lines

I 'might' apply it anyway on the basis it is straight forward but nice to have a sanity check from someone!

Jonathan

Quoted 1 line · Jonathan Cameron

This patch changes various types to the appropriate endian

specific

Quoted 10 lines
Quoted 10 lines
Quoted 10 lines
Quoted 10 lines

versions. Also introduces an additional local variable to avoid a single variable being used for both be and cpu endianness.

These aren't bugs as such, but clearing them up does make the code clearer.

Warning was:
sparse warnings: (new ones prefixed by >>)

Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse:

cast to restricted __be32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse:

cast to restricted __be32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse:

cast to restricted __be32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse:

cast to restricted __be32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse:

cast to restricted __be32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse:

cast to restricted __be32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse:

cast to restricted __be32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse:

cast to restricted __be32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse:

cast to restricted __be32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse:

cast to restricted __be32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse:

cast to restricted __be32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse:

cast to restricted __be32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: sparse:

incorrect type in assignment (different base types)

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18:

expected unsigned short [unsigned] [addressable] [usertype] send_buf

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: got

restricted __be16 [usertype] <noident>

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: sparse:

incorrect type in assignment (different base types)

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18:

expected unsigned short [unsigned] [addressable] [usertype] send_buf

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: got

restricted __be16 [usertype] <noident>

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse:

cast to restricted __be64

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse:

cast to restricted __be64

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

---
drivers/iio/common/ms_sensors/ms_sensors_i2c.c | 29

+++++++++++++-------------

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

Review

Quoted 3 lines
1 file changed, 15 insertions(+), 14 deletions(-)
(quoted diff) +0 -0

b/drivers/iio/common/ms_sensors/ms_sensors_i2c.c

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines

drivers/iio/common/ms_sensors/ms_sensors_i2c.c int ms_sensors_convert_and_read(void *cli, u8

Quoted 4 lines

index 056c4f3bf497..669dc7c270f5 100644

drivers/iio/common/ms_sensors/ms_sensors_i2c.c +0 -0
@@ -106,7 +106,7 @@ int ms_sensors_convert_and_read(void *cli, u8

conv, u8 rd,

Quoted 19 lines
Quoted 19 lines
Quoted 19 lines
Quoted 19 lines
drivers/iio/common/ms_sensors/ms_sensors_i2c.c +4 -3
 				unsigned int delay, u32 *adc)
 {
 	int ret;
-	u32 buf = 0;
+        __be32 buf = 0;
 	struct i2c_client *client = (struct i2c_client *)cli;
 
 	/* Trigger conversion */
@@ -186,8 +186,9 @@ static bool ms_sensors_crc_valid(u32 value)
 int ms_sensors_read_serial(struct i2c_client *client, u64 *sn)
 {
 	u8 i;
-	u64 rcv_buf = 0;
-	u16 send_buf;
+	__be64 rcv_buf = 0;
+	u64 rcv_val;
+	__be16 send_buf;
 	int ret;
 
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

drivers/iio/common/ms_sensors/ms_sensors_i2c.c int ms_sensors_read_serial(struct i2c_client

Quoted 2 lines
drivers/iio/common/ms_sensors/ms_sensors_i2c.c +0 -0
 	struct i2c_msg msg[2] = {
@@ -213,18 +214,18 @@ int ms_sensors_read_serial(struct i2c_client

*client, u64 *sn)

Quoted 23 lines
Quoted 23 lines
Quoted 23 lines
Quoted 23 lines
drivers/iio/common/ms_sensors/ms_sensors_i2c.c +7 -7
 		return ret;
 	}
 
-	rcv_buf = be64_to_cpu(rcv_buf);
-	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_buf);
+	rcv_val = be64_to_cpu(rcv_buf);
+	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_val);
 
 	for (i = 0; i < 64; i += 16) {
-		if (!ms_sensors_crc_valid((rcv_buf >> i) & 0xFFFF))
+		if (!ms_sensors_crc_valid((rcv_val >> i) & 0xFFFF))
 			return -ENODEV;
 	}
 
-	*sn = (((rcv_buf >> 32) & 0xFF000000) |
-	       ((rcv_buf >> 24) & 0x00FF0000) |
-	       ((rcv_buf >> 16) & 0x0000FF00) |
-	       ((rcv_buf >> 8) & 0x000000FF)) << 16;
+	*sn = (((rcv_val >> 32) & 0xFF000000) |
+	       ((rcv_val >> 24) & 0x00FF0000) |
+	       ((rcv_val >> 16) & 0x0000FF00) |
+	       ((rcv_val >> 8) & 0x000000FF)) << 16;
 
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

drivers/iio/common/ms_sensors/ms_sensors_i2c.c int ms_sensors_read_serial(struct i2c_client

Quoted 3 lines
drivers/iio/common/ms_sensors/ms_sensors_i2c.c +0 -0
 	/* Read LSB part of serial number */
 	send_buf = cpu_to_be16(MS_SENSORS_SERIAL_READ_LSB);
@@ -236,15 +237,15 @@ int ms_sensors_read_serial(struct i2c_client

*client, u64 *sn)

Quoted 17 lines
Quoted 17 lines
Quoted 17 lines
Quoted 17 lines
drivers/iio/common/ms_sensors/ms_sensors_i2c.c +4 -4
 		return ret;
 	}
 
-	rcv_buf = be64_to_cpu(rcv_buf) >> 16;
-	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_buf);
+	rcv_val = be64_to_cpu(rcv_buf) >> 16;
+	dev_dbg(&client->dev, "Serial MSB raw : %llx\n", rcv_val);
 
 	for (i = 0; i < 48; i += 24) {
-		if (!ms_sensors_crc_valid((rcv_buf >> i) & 0xFFFFFF))
+		if (!ms_sensors_crc_valid((rcv_val >> i) & 0xFFFFFF))
 			return -ENODEV;
 	}
 
-	*sn |= (rcv_buf & 0xFFFF00) << 40 | (rcv_buf >> 32);
+	*sn |= (rcv_val & 0xFFFF00) << 40 | (rcv_val >> 32);
 
Quoted 7 lines
Quoted 7 lines
Quoted 4 lines

drivers/iio/common/ms_sensors/ms_sensors_i2c.c int ms_sensors_read_serial(struct i2c_client *client, u64 *sn) · line 251

Quoted 3 lines
drivers/iio/common/ms_sensors/ms_sensors_i2c.c +0 -0
 	return 0;
 }

--
To unsubscribe from this list: send the line "unsubscribe linux-iio"

in

Quoted 6 lines
Quoted 3 lines

the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-iio"

in

Quoted 2 lines

the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html