lwmon5 SYSMON POST: fix handling of negative temperatures

Fix errors in the LWMON5 Sysmon POST for negative temperatures.

Signed-off-by: Yuri Tikhonov <yur@emcraft.com>
diff --git a/post/board/lwmon5/dspic.c b/post/board/lwmon5/dspic.c
index dbaa074..fcbbc60 100644
--- a/post/board/lwmon5/dspic.c
+++ b/post/board/lwmon5/dspic.c
@@ -59,25 +59,27 @@
 
 #if CONFIG_POST & CFG_POST_BSPEC2
 /* Read a register from the dsPIC. */
-int dspic_read(ushort reg)
+int dspic_read(ushort reg, ushort *data)
 {
-	uchar buf[2];
+	uchar buf[sizeof(*data)];
+	int rval;
 
-	if (i2c_read(CFG_I2C_DSPIC_IO_ADDR, reg, 2, buf, 2))
-		return -1;
+	rval = i2c_read(CFG_I2C_DSPIC_IO_ADDR, reg, sizeof(reg),
+					       buf, sizeof(*data));
 
-	return (uint)((buf[0] << 8) | buf[1]);
+	*data = (buf[0] << 8) | buf[1];
+
+	return rval;
 }
 
 /* Verify error codes regs, display version */
 int dspic_post_test(int flags)
 {
-	int data;
+	ushort data;
 	int ret = 0;
 
 	post_log("\n");
-	data = dspic_read(DSPIC_VERSION_REG);
-	if (data == -1) {
+	if (dspic_read(DSPIC_VERSION_REG, &data)) {
 		post_log("dsPIC : failed read version\n");
 		ret = 1;
 	} else {
@@ -85,16 +87,15 @@
 			(data >> 8) & 0xFF, data & 0xFF);
 	}
 
-	data = dspic_read(DSPIC_POST_ERROR_REG);
-	if (data != 0) ret = 1;
-	if (data == -1) {
+	if (dspic_read(DSPIC_POST_ERROR_REG, &data)) {
 		post_log("dsPIC : failed read POST code\n");
 	} else {
 		post_log("dsPIC POST code 0x%04X\n", data);
 	}
+	if (data != 0)
+		ret = 1;
 
-	data = dspic_read(DSPIC_SYS_ERROR_REG);
-	if (data == -1) {
+	if (dspic_read(DSPIC_SYS_ERROR_REG, &data)) {
 		post_log("dsPIC : failed read system error\n");
 		ret = 1;
 	} else if (data != 0) {