| From 2265cef2751b3441df91f85e0107f9f549e5b711 Mon Sep 17 00:00:00 2001 |
| From: Jean Delvare <khali@linux-fr.org> |
| Date: Fri, 4 Nov 2011 12:00:47 +0100 |
| Subject: hwmon: (w83627ehf) Properly report PECI and AMD-SI sensor types |
| |
| From: Jean Delvare <khali@linux-fr.org> |
| |
| commit 2265cef2751b3441df91f85e0107f9f549e5b711 upstream. |
| |
| When temperature sources are PECI or AMD-SI agents, it makes no sense |
| to report their type as diode or thermistor. Instead we must report |
| their digital nature. |
| |
| Signed-off-by: Jean Delvare <khali@linux-fr.org> |
| Acked-by: Guenter Roeck <guenter.roeck@ericsson.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/hwmon/w83627ehf.c | 9 ++++++++- |
| 1 file changed, 8 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/hwmon/w83627ehf.c |
| +++ b/drivers/hwmon/w83627ehf.c |
| @@ -1756,7 +1756,14 @@ static inline void __devinit w83627ehf_i |
| diode = 0x70; |
| } |
| for (i = 0; i < 3; i++) { |
| - if ((tmp & (0x02 << i))) |
| + const char *label = data->temp_label[data->temp_src[i]]; |
| + |
| + /* Digital source overrides analog type */ |
| + if (strncmp(label, "PECI", 4) == 0) |
| + data->temp_type[i] = 6; |
| + else if (strncmp(label, "AMD", 3) == 0) |
| + data->temp_type[i] = 5; |
| + else if ((tmp & (0x02 << i))) |
| data->temp_type[i] = (diode & (0x10 << i)) ? 1 : 3; |
| else |
| data->temp_type[i] = 4; /* thermistor */ |