power: supply: sbs-battery: Add PbAc, NiZn, RAM, and ZnAr support

Add support for PbAc, NiZn, RAM, and ZnAr chemistries as defined in the
Smart Battery Data Specification v1.1 (Section 5.1.30 DeviceChemistry).

Currently, the sbs-battery driver only handles LION, LiP, NiCd and NiMH.
The Smart Battery specification defines 8 possible values:
 - Lead Acid (PbAc)
 - Lithium Ion (LION)
 - Nickel Cadmium (NiCd)
 - Nickel Metal Hydride (NiMH)
 - Nickel Zinc (NiZn)
 - Rechargeable Alkaline-Manganese (RAM)
 - Zinc Air (ZnAr)
 - Lithium Polymer (LiP)

Link: https://sbs-forum.org/specs/sbdat110.pdf
Signed-off-by: Boris Shtrasman <borissh1983@gmail.com>
Link: https://patch.msgid.link/20260624135718.286771-3-borissh1983@gmail.com
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
This commit is contained in:
Boris Shtrasman
2026-06-24 16:57:18 +03:00
committed by Sebastian Reichel
parent e4426ddf78
commit f97d916604

View File

@@ -860,6 +860,14 @@ static int sbs_get_chemistry(struct sbs_info *chip,
chip->technology = POWER_SUPPLY_TECHNOLOGY_NiCd;
else if (!strncasecmp(chemistry, "NiMH", 4))
chip->technology = POWER_SUPPLY_TECHNOLOGY_NiMH;
else if (!strncasecmp(chemistry, "PbAc", 4))
chip->technology = POWER_SUPPLY_TECHNOLOGY_PbAc;
else if (!strncasecmp(chemistry, "NiZn", 4))
chip->technology = POWER_SUPPLY_TECHNOLOGY_NiZn;
else if (!strncasecmp(chemistry, "RAM", 3))
chip->technology = POWER_SUPPLY_TECHNOLOGY_RAM;
else if (!strncasecmp(chemistry, "ZnAr", 4))
chip->technology = POWER_SUPPLY_TECHNOLOGY_ZnAr;
else
chip->technology = POWER_SUPPLY_TECHNOLOGY_UNKNOWN;