]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
hwmon: (max6639) fix inverted polarity
authorOlivier Sobrie <olivier@sobrie.be>
Wed, 4 Mar 2026 21:20:39 +0000 (22:20 +0100)
committerSasha Levin <sashal@kernel.org>
Thu, 12 Mar 2026 11:09:55 +0000 (07:09 -0400)
[ Upstream commit 170a4b21f49b3dcff3115b4c90758f0a0d77375a ]

According to MAX6639 documentation:

  D1: PWM Output Polarity. PWM output is low at
  100% duty cycle when this bit is set to zero. PWM
  output is high at 100% duty cycle when this bit is set
  to 1.

Up to commit 0f33272b60ed ("hwmon: (max6639) : Update hwmon init using
info structure"), the polarity was set to high (0x2) when no platform
data was set. After the patch, the polarity register wasn't set anymore
if no platform data was specified. Nowadays, since commit 7506ebcd662b
("hwmon: (max6639) : Configure based on DT property"), it is always set
to low which doesn't match with the comment above and change the
behavior compared to versions prior 0f33272b60ed.

Fixes: 0f33272b60ed ("hwmon: (max6639) : Update hwmon init using info structure")
Signed-off-by: Olivier Sobrie <olivier@sobrie.be>
Link: https://lore.kernel.org/r/20260304212039.570274-1-olivier@sobrie.be
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/hwmon/max6639.c

index 99140a2ca9955ebbf4d1d97f76c90270f3589881..48fde4f1a1561387b9713049fad505d06a7d172c 100644 (file)
@@ -610,7 +610,7 @@ static int max6639_init_client(struct i2c_client *client,
                        return err;
 
                /* Fans PWM polarity high by default */
-               err = regmap_write(data->regmap, MAX6639_REG_FAN_CONFIG2a(i), 0x00);
+               err = regmap_write(data->regmap, MAX6639_REG_FAN_CONFIG2a(i), 0x02);
                if (err)
                        return err;