From: Joonhoe Kim <26rote@gmail.com>
To: sre@kernel.org
Cc: konrad.dybcio@oss.qualcomm.com, jingyi.wang@oss.qualcomm.com,
kamal.wadhwa@oss.qualcomm.com,
anjelique.melendez@oss.qualcomm.com,
dhruvin.rajpura@oss.qualcomm.com, andersson@kernel.org,
dmitry.baryshkov@oss.qualcomm.com, linux-arm-msm@vger.kernel.org,
linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v2 1/2] power: supply: qcom_battmgr: fix the battery current sign on Kaanapali
Date: Thu, 12 Nov 2026 22:49:26 +0900 [thread overview]
Message-ID: <20261112134927.95-2-26rote@gmail.com> (raw)
In-Reply-To: <20261112134927.95-1-26rote@gmail.com>
The Kaanapali battery firmware reports the battery current with
discharge positive: on a Lenovo Y700 Gen 5 (TB323FU) current_now reads
-9.1 A while charging and +0.57 A on battery. The power_supply ABI has
charging positive, and upower reports such a charging battery as
discharging.
Other firmware behind the same callback uses the ABI sign [1], so
negate the value only for qcom,kaanapali-pmic-glink.
Fixes: 16a7c32e586e ("power: supply: qcom_battmgr: Add support for Glymur and Kaanapali")
Link: https://lore.kernel.org/all/20260829054546.86210-1-jan.brummer@tabos.org/ [1]
Signed-off-by: Joonhoe Kim <26rote@gmail.com>
---
v2: no code change; reworded the device name.
The sign is checked only on the Y700 Gen 5. On v1 Konrad asked Jingyi
to check QRD/MTP; no reply yet:
https://lore.kernel.org/all/0e5b7d2e-e141-4ce4-a873-b65bd9ef3c4a@oss.qualcomm.com/
drivers/power/supply/qcom_battmgr.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/power/supply/qcom_battmgr.c b/drivers/power/supply/qcom_battmgr.c
index d6e3edbab..58e103e08 100644
--- a/drivers/power/supply/qcom_battmgr.c
+++ b/drivers/power/supply/qcom_battmgr.c
@@ -316,6 +316,7 @@ struct qcom_battmgr {
struct pmic_glink_client *client;
enum qcom_battmgr_variant variant;
+ bool current_inverted;
struct power_supply *ac_psy;
struct power_supply *bat_psy;
@@ -1574,6 +1575,8 @@ static void qcom_battmgr_sm8350_callback(struct qcom_battmgr *battmgr,
break;
case BATT_CURR_NOW:
battmgr->status.current_now = le32_to_cpu(resp->intval.value);
+ if (battmgr->current_inverted)
+ battmgr->status.current_now = -battmgr->status.current_now;
break;
case BATT_TEMP:
val = le32_to_cpu(resp->intval.value);
@@ -1804,6 +1807,9 @@ static int qcom_battmgr_probe(struct auxiliary_device *adev,
else
battmgr->variant = QCOM_BATTMGR_SM8350;
+ battmgr->current_inverted = device_is_compatible(dev->parent,
+ "qcom,kaanapali-pmic-glink");
+
ret = qcom_battmgr_charge_control_thresholds_init(battmgr);
if (ret < 0)
return dev_err_probe(dev, ret,
--
2.53.0
next prev parent reply other threads:[~2026-11-12 13:49 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-12 13:49 [PATCH v2 0/2] power: supply: qcom_battmgr: Kaanapali current sign and charge current limit Joonhoe Kim
2026-11-12 13:49 ` Joonhoe Kim [this message]
2026-11-12 13:49 ` [PATCH v2 2/2] power: supply: qcom_battmgr: expose the " Joonhoe Kim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261112134927.95-2-26rote@gmail.com \
--to=26rote@gmail.com \
--cc=andersson@kernel.org \
--cc=anjelique.melendez@oss.qualcomm.com \
--cc=dhruvin.rajpura@oss.qualcomm.com \
--cc=dmitry.baryshkov@oss.qualcomm.com \
--cc=jingyi.wang@oss.qualcomm.com \
--cc=kamal.wadhwa@oss.qualcomm.com \
--cc=konrad.dybcio@oss.qualcomm.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=sre@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.