| From 728d29400488d54974d3317fe8a232b45fdb42ee Mon Sep 17 00:00:00 2001 |
| From: Guenter Roeck <linux@roeck-us.net> |
| Date: Mon, 31 Aug 2015 16:13:47 -0700 |
| Subject: hwmon: (nct6775) Swap STEP_UP_TIME and STEP_DOWN_TIME registers for most chips |
| |
| From: Guenter Roeck <linux@roeck-us.net> |
| |
| commit 728d29400488d54974d3317fe8a232b45fdb42ee upstream. |
| |
| The STEP_UP_TIME and STEP_DOWN_TIME registers are swapped for all chips but |
| NCT6775. |
| |
| Reported-by: Grazvydas Ignotas <notasas@gmail.com> |
| Reviewed-by: Jean Delvare <jdelvare@suse.de> |
| Signed-off-by: Guenter Roeck <linux@roeck-us.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/hwmon/nct6775.c | 16 ++++++++++------ |
| 1 file changed, 10 insertions(+), 6 deletions(-) |
| |
| --- a/drivers/hwmon/nct6775.c |
| +++ b/drivers/hwmon/nct6775.c |
| @@ -350,6 +350,10 @@ static const u16 NCT6775_REG_TEMP_CRIT[A |
| |
| /* NCT6776 specific data */ |
| |
| +/* STEP_UP_TIME and STEP_DOWN_TIME regs are swapped for all chips but NCT6775 */ |
| +#define NCT6776_REG_FAN_STEP_UP_TIME NCT6775_REG_FAN_STEP_DOWN_TIME |
| +#define NCT6776_REG_FAN_STEP_DOWN_TIME NCT6775_REG_FAN_STEP_UP_TIME |
| + |
| static const s8 NCT6776_ALARM_BITS[] = { |
| 0, 1, 2, 3, 8, 21, 20, 16, /* in0.. in7 */ |
| 17, -1, -1, -1, -1, -1, -1, /* in8..in14 */ |
| @@ -3476,8 +3480,8 @@ static int nct6775_probe(struct platform |
| data->REG_FAN_PULSES = NCT6776_REG_FAN_PULSES; |
| data->FAN_PULSE_SHIFT = NCT6775_FAN_PULSE_SHIFT; |
| data->REG_FAN_TIME[0] = NCT6775_REG_FAN_STOP_TIME; |
| - data->REG_FAN_TIME[1] = NCT6775_REG_FAN_STEP_UP_TIME; |
| - data->REG_FAN_TIME[2] = NCT6775_REG_FAN_STEP_DOWN_TIME; |
| + data->REG_FAN_TIME[1] = NCT6776_REG_FAN_STEP_UP_TIME; |
| + data->REG_FAN_TIME[2] = NCT6776_REG_FAN_STEP_DOWN_TIME; |
| data->REG_TOLERANCE_H = NCT6776_REG_TOLERANCE_H; |
| data->REG_PWM[0] = NCT6775_REG_PWM; |
| data->REG_PWM[1] = NCT6775_REG_FAN_START_OUTPUT; |
| @@ -3548,8 +3552,8 @@ static int nct6775_probe(struct platform |
| data->REG_FAN_PULSES = NCT6779_REG_FAN_PULSES; |
| data->FAN_PULSE_SHIFT = NCT6775_FAN_PULSE_SHIFT; |
| data->REG_FAN_TIME[0] = NCT6775_REG_FAN_STOP_TIME; |
| - data->REG_FAN_TIME[1] = NCT6775_REG_FAN_STEP_UP_TIME; |
| - data->REG_FAN_TIME[2] = NCT6775_REG_FAN_STEP_DOWN_TIME; |
| + data->REG_FAN_TIME[1] = NCT6776_REG_FAN_STEP_UP_TIME; |
| + data->REG_FAN_TIME[2] = NCT6776_REG_FAN_STEP_DOWN_TIME; |
| data->REG_TOLERANCE_H = NCT6776_REG_TOLERANCE_H; |
| data->REG_PWM[0] = NCT6775_REG_PWM; |
| data->REG_PWM[1] = NCT6775_REG_FAN_START_OUTPUT; |
| @@ -3624,8 +3628,8 @@ static int nct6775_probe(struct platform |
| data->REG_FAN_PULSES = NCT6779_REG_FAN_PULSES; |
| data->FAN_PULSE_SHIFT = NCT6775_FAN_PULSE_SHIFT; |
| data->REG_FAN_TIME[0] = NCT6775_REG_FAN_STOP_TIME; |
| - data->REG_FAN_TIME[1] = NCT6775_REG_FAN_STEP_UP_TIME; |
| - data->REG_FAN_TIME[2] = NCT6775_REG_FAN_STEP_DOWN_TIME; |
| + data->REG_FAN_TIME[1] = NCT6776_REG_FAN_STEP_UP_TIME; |
| + data->REG_FAN_TIME[2] = NCT6776_REG_FAN_STEP_DOWN_TIME; |
| data->REG_TOLERANCE_H = NCT6776_REG_TOLERANCE_H; |
| data->REG_PWM[0] = NCT6775_REG_PWM; |
| data->REG_PWM[1] = NCT6775_REG_FAN_START_OUTPUT; |