Unverified Commit f4856c20 authored by Armin Wolf's avatar Armin Wolf Committed by Ilpo Järvinen
Browse files

power: supply: core: Add additional health status values



Some batteries can signal when an internal fuse was blown. In such a
case POWER_SUPPLY_HEALTH_DEAD is too vague for userspace applications
to perform meaningful diagnostics.

Additionally some batteries can also signal when some of their
internal cells are imbalanced. In such a case returning
POWER_SUPPLY_HEALTH_UNSPEC_FAILURE is again too vague for userspace
applications to perform meaningful diagnostics.

Add new health status values for both cases.

Signed-off-by: default avatarArmin Wolf <W_Armin@gmx.de>
Reviewed-by: default avatarSebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20250429003606.303870-1-W_Armin@gmx.de


Reviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
parent 511a4a5e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -456,7 +456,7 @@ Description:
			      "Over voltage", "Under voltage", "Unspecified failure", "Cold",
			      "Watchdog timer expire", "Safety timer expire",
			      "Over current", "Calibration required", "Warm",
			      "Cool", "Hot", "No battery"
			      "Cool", "Hot", "No battery", "Blown fuse", "Cell imbalance"

What:		/sys/class/power_supply/<supply_name>/precharge_current
Date:		June 2017
+2 −0
Original line number Diff line number Diff line
@@ -110,6 +110,8 @@ static const char * const POWER_SUPPLY_HEALTH_TEXT[] = {
	[POWER_SUPPLY_HEALTH_COOL]		    = "Cool",
	[POWER_SUPPLY_HEALTH_HOT]		    = "Hot",
	[POWER_SUPPLY_HEALTH_NO_BATTERY]	    = "No battery",
	[POWER_SUPPLY_HEALTH_BLOWN_FUSE]	    = "Blown fuse",
	[POWER_SUPPLY_HEALTH_CELL_IMBALANCE]	    = "Cell imbalance",
};

static const char * const POWER_SUPPLY_TECHNOLOGY_TEXT[] = {
+2 −0
Original line number Diff line number Diff line
@@ -71,6 +71,8 @@ enum {
	POWER_SUPPLY_HEALTH_COOL,
	POWER_SUPPLY_HEALTH_HOT,
	POWER_SUPPLY_HEALTH_NO_BATTERY,
	POWER_SUPPLY_HEALTH_BLOWN_FUSE,
	POWER_SUPPLY_HEALTH_CELL_IMBALANCE,
};

enum {