Re: [PATCH v2 1/4] power: supply: core: Add additional health status values
From: Ilpo Järvinen
Date: Mon May 05 2025 - 08:22:57 EST
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 <W_Armin@xxxxxx>
>
> Reviewed-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx>
Hi Sebastian,
Is it okay with you I take this through pdx86 tree?
--
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/<supply_name>/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
> >
>