SBC_builder/patch/kernel/sunxi-6.14/patches.megous/power-supply-axp20x_battery-Fix-charging-done-detection.patch
2025-06-01 01:05:27 +02:00

41 lines
1.3 KiB
Diff

From 1159cc7534f19ea3fad016e3651cce77df029e6f Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Sat, 29 Feb 2020 00:55:09 -0600
Subject: power: supply: axp20x_battery: Fix charging done detection
Signed-off-by: Samuel Holland <samuel@sholland.org>
---
drivers/power/supply/axp20x_battery.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/power/supply/axp20x_battery.c b/drivers/power/supply/axp20x_battery.c
index 1bac1a934614..74a5d53d7cf2 100644
--- a/drivers/power/supply/axp20x_battery.c
+++ b/drivers/power/supply/axp20x_battery.c
@@ -38,6 +38,7 @@
#define AXP717_PWR_STATUS_BAT_CHRG 1
#define AXP717_PWR_STATUS_BAT_DISCHRG 2
+#define AXP20X_PWR_OP_BATT_CHARGING BIT(6)
#define AXP20X_PWR_OP_BATT_PRESENT BIT(5)
#define AXP20X_PWR_OP_BATT_ACTIVATED BIT(3)
#define AXP717_PWR_OP_BATT_PRESENT BIT(3)
@@ -308,12 +309,12 @@ static int axp20x_battery_get_prop(struct power_supply *psy,
break;
case POWER_SUPPLY_PROP_STATUS:
- ret = regmap_read(axp20x_batt->regmap, AXP20X_PWR_INPUT_STATUS,
+ ret = regmap_read(axp20x_batt->regmap, AXP20X_PWR_OP_MODE,
&reg);
if (ret)
return ret;
- if (reg & AXP20X_PWR_STATUS_BAT_CHARGING) {
+ if (reg & AXP20X_PWR_OP_BATT_CHARGING) {
val->intval = POWER_SUPPLY_STATUS_CHARGING;
return 0;
}
--
2.35.3