summaryrefslogtreecommitdiffstats
path: root/drivers/hwmon
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2018-09-18 11:03:25 -0700
committerGuenter Roeck <linux@roeck-us.net>2018-10-10 20:37:13 -0700
commit2d99925a15b639026b67bd96419df6f9d760b212 (patch)
treeb851831ab6377cdc67c5825446798998637d3975 /drivers/hwmon
parent7dcdbdeb1b45b9071ad986bf20d8c2da6a057eb6 (diff)
downloadlinux-2d99925a15b639026b67bd96419df6f9d760b212.tar.bz2
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>
Diffstat (limited to 'drivers/hwmon')
-rw-r--r--drivers/hwmon/nct6775.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/drivers/hwmon/nct6775.c b/drivers/hwmon/nct6775.c
index 6e11df697e6e..556b4cfacbd1 100644
--- a/drivers/hwmon/nct6775.c
+++ b/drivers/hwmon/nct6775.c
@@ -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));