Skip to content

Commit b4c8af4

Browse files
jktjktgroeck
authored andcommitted
hwmon: (pmbus) Fix page vs. register when accessing fans
Commit 1635854 ("hwmon: (pmbus) Implement multi-phase support") added support for multi-phase pmbus devices. However, when calling pmbus_add_sensor() for fans, the patch swapped the `page` and `reg` attributes. As a result, the fan speeds were reported as 0 RPM on my device. Signed-off-by: Jan Kundrát <[email protected]> Fixes: 1635854 ("hwmon: (pmbus) Implement multi-phase support") Cc: [email protected] # v5.7+ Link: https://lore.kernel.org/r/449bc9e6c0e4305581e45905ce9d043b356a9932.1592904387.git.jan.kundrat@cesnet.cz [groeck: Fixed references to offending commit] Signed-off-by: Guenter Roeck <[email protected]>
1 parent 26797d8 commit b4c8af4

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

drivers/hwmon/pmbus/pmbus_core.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1869,7 +1869,7 @@ static int pmbus_add_fan_ctrl(struct i2c_client *client,
18691869
struct pmbus_sensor *sensor;
18701870

18711871
sensor = pmbus_add_sensor(data, "fan", "target", index, page,
1872-
PMBUS_VIRT_FAN_TARGET_1 + id, 0xff, PSC_FAN,
1872+
0xff, PMBUS_VIRT_FAN_TARGET_1 + id, PSC_FAN,
18731873
false, false, true);
18741874

18751875
if (!sensor)
@@ -1880,14 +1880,14 @@ static int pmbus_add_fan_ctrl(struct i2c_client *client,
18801880
return 0;
18811881

18821882
sensor = pmbus_add_sensor(data, "pwm", NULL, index, page,
1883-
PMBUS_VIRT_PWM_1 + id, 0xff, PSC_PWM,
1883+
0xff, PMBUS_VIRT_PWM_1 + id, PSC_PWM,
18841884
false, false, true);
18851885

18861886
if (!sensor)
18871887
return -ENOMEM;
18881888

18891889
sensor = pmbus_add_sensor(data, "pwm", "enable", index, page,
1890-
PMBUS_VIRT_PWM_ENABLE_1 + id, 0xff, PSC_PWM,
1890+
0xff, PMBUS_VIRT_PWM_ENABLE_1 + id, PSC_PWM,
18911891
true, false, false);
18921892

18931893
if (!sensor)
@@ -1929,7 +1929,7 @@ static int pmbus_add_fan_attributes(struct i2c_client *client,
19291929
continue;
19301930

19311931
if (pmbus_add_sensor(data, "fan", "input", index,
1932-
page, pmbus_fan_registers[f], 0xff,
1932+
page, 0xff, pmbus_fan_registers[f],
19331933
PSC_FAN, true, true, true) == NULL)
19341934
return -ENOMEM;
19351935

0 commit comments

Comments
 (0)