]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
power: supply: max77693: Fix wrong conversion of charge input threshold value
authorArtur Weber <aweber.kernel@gmail.com>
Sun, 16 Mar 2025 20:11:49 +0000 (21:11 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Apr 2025 12:37:31 +0000 (14:37 +0200)
[ Upstream commit 30cc7b0d0e9341d419eb7da15fb5c22406dbe499 ]

The charge input threshold voltage register on the MAX77693 PMIC accepts
four values: 0x0 for 4.3v, 0x1 for 4.7v, 0x2 for 4.8v and 0x3 for 4.9v.
Due to an oversight, the driver calculated the values for 4.7v and above
starting from 0x0, rather than from 0x1 ([(4700000 - 4700000) / 100000]
gives 0).

Add 1 to the calculation to ensure that 4.7v is converted to a register
value of 0x1 and that the other two voltages are converted correctly as
well.

Fixes: 87c2d9067893 ("power: max77693: Add charger driver for Maxim 77693")
Signed-off-by: Artur Weber <aweber.kernel@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20250316-max77693-charger-input-threshold-fix-v1-1-2b037d0ac722@gmail.com
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/power/supply/max77693_charger.c

index 794c8c054450e87e7da6001d7b0ecb4d6be3068a..0e7b3277d481ab1e37d31760871b4d390274ae7c 100644 (file)
@@ -556,7 +556,7 @@ static int max77693_set_charge_input_threshold_volt(struct max77693_charger *chg
        case 4700000:
        case 4800000:
        case 4900000:
-               data = (uvolt - 4700000) / 100000;
+               data = ((uvolt - 4700000) / 100000) + 1;
                break;
        default:
                dev_err(chg->dev, "Wrong value for charge input voltage regulation threshold\n");