Skip to contentSkip to conversation

hwmon: ibmpex.c remove inline wrapper of be16_to_cpup

PATCH In review Harvey Harrison 2 participants 2 messages Aug 26, 2008 – Aug 27, 2008 Hardware monitoring

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 hwmon: ibmpex.c remove inline wrapper of be16_to_cpup

Sparse noticed the helper was missing a cast:
drivers/hwmon/ibmpex.c:43:23: warning: incorrect type in argument 1 (different base types)
drivers/hwmon/ibmpex.c:43:23: expected restricted __be16 const [usertype] *p
drivers/hwmon/ibmpex.c:43:23: got unsigned short [usertype] *<noident>

Just open-code the helper as it didn't add anything.

---
 drivers/hwmon/ibmpex.c |   13 ++++---------
 1 files changed, 4 insertions(+), 9 deletions(-)
drivers/hwmon/ibmpex.c +4 -9
index 4e9b19c..abc8fb0 100644
@@ -38,11 +38,6 @@
 #define PEX_NET_FUNCTION	0x3A
 #define PEX_COMMAND		0x3C
 
-static inline u16 extract_value(const char *data, int offset)
-{
-	return be16_to_cpup((u16 *)&data[offset]);
-}
-
 #define TEMP_SENSOR		1
 #define POWER_SENSOR		2
 
@@ -165,7 +160,7 @@ static int ibmpex_ver_check(struct ibmpex_bmc_data *data)
 		 "v%d.%d %d-%02d-%02d on interface %d\n",
 		 data->sensor_major,
 		 data->sensor_minor,
-		 extract_value(data->rx_msg_data, 2),
+		 be16_to_cpup((__be16 *)&data->rx_msg_data[2]),
 		 data->rx_msg_data[4],
 		 data->rx_msg_data[5],
 		 data->interface);
@@ -247,11 +242,11 @@ static void ibmpex_update_device(struct ibmpex_bmc_data *data)
 		if (err)
 			continue;
 		data->sensors[i].values[0] =
-			extract_value(data->rx_msg_data, 16);
+			be16_to_cpup((__be16 *)&data->rx_msg_data[16]);
 		data->sensors[i].values[1] =
-			extract_value(data->rx_msg_data, 18);
+			be16_to_cpup((__be16 *)&data->rx_msg_data[18]);
 		data->sensors[i].values[2] =
-			extract_value(data->rx_msg_data, 20);
+			be16_to_cpup((__be16 *)&data->rx_msg_data[20]);
 	}
 
 	data->last_updated = jiffies;
Signature · 1 line
1.6.0.340.g84854
#1 lore raw

Hi Harvey,

Quoted 42 lines · Harvey Harrison

Sparse noticed the helper was missing a cast:
drivers/hwmon/ibmpex.c:43:23: warning: incorrect type in argument 1 (different base types)
drivers/hwmon/ibmpex.c:43:23: expected restricted __be16 const [usertype] *p
drivers/hwmon/ibmpex.c:43:23: got unsigned short [usertype] *<noident>

Just open-code the helper as it didn't add anything.

---
 drivers/hwmon/ibmpex.c |   13 ++++---------
 1 files changed, 4 insertions(+), 9 deletions(-)
drivers/hwmon/ibmpex.c +1 -7
index 4e9b19c..abc8fb0 100644
@@ -38,11 +38,6 @@
 #define PEX_NET_FUNCTION	0x3A
 #define PEX_COMMAND		0x3C
 
-static inline u16 extract_value(const char *data, int offset)
-{
-	return be16_to_cpup((u16 *)&data[offset]);
-}
-
 #define TEMP_SENSOR		1
 #define POWER_SENSOR		2
 
@@ -165,7 +160,7 @@ static int ibmpex_ver_check(struct ibmpex_bmc_data *data)
 		 "v%d.%d %d-%02d-%02d on interface %d\n",
 		 data->sensor_major,
 		 data->sensor_minor,
-		 extract_value(data->rx_msg_data, 2),
+		 be16_to_cpup((__be16 *)&data->rx_msg_data[2]),
 		 data->rx_msg_data[4],
 		 data->rx_msg_data[5],
 		 data->interface);
@@ -247,11 +242,11 @@ static void ibmpex_update_device(struct ibmpex_bmc_data *data)
 		if (err)
 			continue;
 		data->sensors[i].values[0] =
-			extract_value(data->rx_msg_data, 16);

drivers/hwmon/ibmpex.c static void ibmpex_update_device(struct ibmpex_bmc_data *data) · line 252

Quoted 10 lines
drivers/hwmon/ibmpex.c +3 -2
+			be16_to_cpup((__be16 *)&data->rx_msg_data[16]);
 		data->sensors[i].values[1] =
-			extract_value(data->rx_msg_data, 18);
+			be16_to_cpup((__be16 *)&data->rx_msg_data[18]);
 		data->sensors[i].values[2] =
-			extract_value(data->rx_msg_data, 20);
+			be16_to_cpup((__be16 *)&data->rx_msg_data[20]);
 	}
 
 	data->last_updated = jiffies;

Please send this patch to the lm-sensors list (as specified in MAINTAINERS) and to the driver author (Darrick J. Wong) so that it can get review and testing.

Thanks,

Signature · 1 line
Jean Delvare