On Mon, 5 May 2025, Ilpo Järvinen wrote: > On Wed, 30 Apr 2025, Sebastian Reichel wrote: > > On Tue, Apr 29, 2025 at 02:36:03AM +0200, Armin Wolf wrote: > > > 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: Armin Wolf > > > > Reviewed-by: Sebastian Reichel > > Hi Sebastian, > > Is it okay with you I take this through pdx86 tree? Ping? -- i. > > -- > i. > > > > > -- Sebastian > > > > > --- > > > Changes since v1: > > > - rename "Fuse blown" to "Blown fuse" > > > - rename "Cell imbalanced" to "Cell imbalance" > > > --- > > > Documentation/ABI/testing/sysfs-class-power | 2 +- > > > drivers/power/supply/power_supply_sysfs.c | 2 ++ > > > include/linux/power_supply.h | 2 ++ > > > 3 files changed, 5 insertions(+), 1 deletion(-) > > > > > > diff --git a/Documentation/ABI/testing/sysfs-class-power b/Documentation/ABI/testing/sysfs-class-power > > > index 2a5c1a09a28f..be8be54b183d 100644 > > > --- a/Documentation/ABI/testing/sysfs-class-power > > > +++ b/Documentation/ABI/testing/sysfs-class-power > > > @@ -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//precharge_current > > > Date: June 2017 > > > diff --git a/drivers/power/supply/power_supply_sysfs.c b/drivers/power/supply/power_supply_sysfs.c > > > index edb058c19c9c..2703ed1dd943 100644 > > > --- a/drivers/power/supply/power_supply_sysfs.c > > > +++ b/drivers/power/supply/power_supply_sysfs.c > > > @@ -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[] = { > > > diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h > > > index 888824592953..69df3a452918 100644 > > > --- a/include/linux/power_supply.h > > > +++ b/include/linux/power_supply.h > > > @@ -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 { > > > -- > > > 2.39.5 > > > > > >