Skip to content

Commit

Permalink
hwmon: (nct6775) Separate fan/pwm configuration detection for NCT6793D
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Guenter Roeck committed Oct 11, 2018
1 parent 7dcdbde commit 2d99925
Showing 1 changed file with 14 additions and 5 deletions.
19 changes: 14 additions & 5 deletions drivers/hwmon/nct6775.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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));
Expand Down

0 comments on commit 2d99925

Please sign in to comment.