[PATCH v2 0/2] Add support for Battery Status AMS
From: Amit Sunil Dhamne via B4 Relay
Date: Tue May 26 2026 - 20:10:13 EST
PD 3.1 v1.8 Spec necessitates a response to Get_Battery_Status request
from the port partner (see "6.13.2 Applicability of Data Message").
This patchset adds support to get all the battery type power supplies
and query them to report the telemetry required to build a Battery
Status Message. Right now, this submission assumes all the battery type
power supplies that exist in the system are fixed (meaning cannot be hot
swapped).
Previously, I had sent a patch series [1]. However there were some
concerns. Broadly:
* No client drivers
* Duplicating dt properties
To address the above issues, we now have Fuel Gauge and Charger drivers.
Also, I have rectified my approach to fetch information about batteries
from the power supply core.
While, the original patch series [1] added support for Battery Caps as
well, this patch series only adds support for Battery Status. Therefore,
I am sending it as a new series while incorporating relevant feedback.
[1] https://lore.kernel.org/all/20250507-batt_ops-v2-0-8d06130bffe6@xxxxxxxxxx/
Patches in series:
[A] "power: supply: Add helpers to get and put arrays of power supply handles"
[B] "usb: typec: tcpm: Add support for Battery Status response message"
Technical dependency of patches:
[B] depends on [A] due to usage of `power_supply_get_battery_all` &
`power_supply_put_array` APIs.
Signed-off-by: Amit Sunil Dhamne <amitsd@xxxxxxxxxx>
---
Changes in v2:
- Suggested by Hans De Goede:
- Added helper power_supply_put_array() to release array of psy refs.
- Modified tcpm implementation to use the above.
- Drop "power: supply: max17042: add handler for energy_now property"
commit.
- Offload energy_now calculation to tcpm.
- Minor changes to description comments of
power_supply_get_battery_all() to improve brevity.
- Link to v1: https://lore.kernel.org/r/20260515-batt-status-v1-0-fed6b7d8cea7@xxxxxxxxxx
---
Amit Sunil Dhamne (2):
power: supply: Add helpers to get and put arrays of power supply handles
usb: typec: tcpm: Add support for Battery Status response message
drivers/power/supply/power_supply_core.c | 137 ++++++++++++++++++++++++++++
drivers/usb/typec/tcpm/tcpm.c | 151 ++++++++++++++++++++++++++++++-
include/linux/power_supply.h | 12 +++
include/linux/usb/pd.h | 29 ++++++
4 files changed, 326 insertions(+), 3 deletions(-)
---
base-commit: 57b8e2d666a31fa201432d58f5fe3469a0dd83ba
change-id: 20260501-batt-status-16b6761c0bb1
Best regards,
--
Amit Sunil Dhamne <amitsd@xxxxxxxxxx>