| From 5117f5a95a06e0410d1f8fe6ea39cfd54c792f58 Mon Sep 17 00:00:00 2001 |
| From: Jared Bents <jared.bents@rockwellcollins.com> |
| Date: Fri, 18 Nov 2016 22:20:38 -0600 |
| Subject: [PATCH] hwmon: (amc6821) sign extension temperature |
| |
| commit 4538bfbf2d9f1fc48c07ac0cc0ee58716fe7fe96 upstream. |
| |
| Converts the unsigned temperature values from the i2c read |
| to be sign extended as defined in the datasheet so that |
| negative temperatures are properly read. |
| |
| Fixes: 28e6274d8fa67 ("hwmon: (amc6821) Avoid forward declaration") |
| Signed-off-by: Jared Bents <jared.bents@rockwellcollins.com> |
| Signed-off-by: Matt Weber <matthew.weber@rockwellcollins.com> |
| [groeck: Dropped unnecessary continuation line] |
| Signed-off-by: Guenter Roeck <linux@roeck-us.net> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/hwmon/amc6821.c b/drivers/hwmon/amc6821.c |
| index 12e851a5af48..46b4e35fd555 100644 |
| --- a/drivers/hwmon/amc6821.c |
| +++ b/drivers/hwmon/amc6821.c |
| @@ -188,8 +188,8 @@ static struct amc6821_data *amc6821_update_device(struct device *dev) |
| !data->valid) { |
| |
| for (i = 0; i < TEMP_IDX_LEN; i++) |
| - data->temp[i] = i2c_smbus_read_byte_data(client, |
| - temp_reg[i]); |
| + data->temp[i] = (int8_t)i2c_smbus_read_byte_data( |
| + client, temp_reg[i]); |
| |
| data->stat1 = i2c_smbus_read_byte_data(client, |
| AMC6821_REG_STAT1); |
| -- |
| 2.10.1 |
| |