1
0
Fork 0

hwmon: (nct6775) Separate fan/pwm configuration detection for NCT6793D

While detecting the configuration for multiple chips in one go reduces
code size, it also increases code complexity. Separate chip detection
to improve code readability. As first step, separate detection for
NCT6793D.

No functional change.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
hifive-unleashed-5.1
Guenter Roeck 2018-09-18 11:03:25 -07:00
parent 7dcdbdeb1b
commit 2d99925a15
1 changed files with 14 additions and 5 deletions

View File

@ -3530,6 +3530,17 @@ nct6775_check_fan_inputs(struct nct6775_data *data)
pwm6pin = !dsw_en && (cr2d & BIT(0));
break;
case nct6793:
fan5pin |= cr1b & BIT(5);
fan5pin |= creb & BIT(5);
fan6pin = creb & BIT(3);
pwm5pin |= cr2d & BIT(7);
pwm5pin |= (creb & BIT(4)) && !(cr2a & BIT(0));
pwm6pin = !dsw_en && (cr2d & BIT(0));
pwm6pin |= creb & BIT(2);
break;
case nct6795:
case nct6796:
pwm5pin |= cr2d & BIT(7);
@ -3546,11 +3557,9 @@ nct6775_check_fan_inputs(struct nct6775_data *data)
pwm6pin |= creb & BIT(2);
}
if (data->kind == nct6795 || data->kind == nct6796) {
fan6pin |= (cr2a & BIT(4)) &&
(!dsw_en || (cred & BIT(4)));
pwm6pin |= (cr2a & BIT(3)) && (cred & BIT(2));
}
fan6pin |= (cr2a & BIT(4)) &&
(!dsw_en || (cred & BIT(4)));
pwm6pin |= (cr2a & BIT(3)) && (cred & BIT(2));
if (data->kind == nct6796) {
fan7pin = !(cr2b & BIT(2));