Message ID | 20250530-qcom_battmgr_update-v2-2-9e377193a656@oss.qualcomm.com |
---|---|
State | New |
Headers | show |
Series | power: supply: Add several features support in qcom-battmgr driver | expand |
On Fri, May 30, 2025 at 03:35:07PM +0800, Fenglin Wu via B4 Relay wrote: > From: Fenglin Wu <fenglin.wu@oss.qualcomm.com> > > Add state_of_health power supply property to represent battery > health percentage. > > Signed-off-by: Fenglin Wu <fenglin.wu@oss.qualcomm.com> > --- > Documentation/ABI/testing/sysfs-class-power | 10 ++++++++++ > drivers/power/supply/power_supply_sysfs.c | 1 + > include/linux/power_supply.h | 1 + > 3 files changed, 12 insertions(+) > > diff --git a/Documentation/ABI/testing/sysfs-class-power b/Documentation/ABI/testing/sysfs-class-power > index 22a565a6a1c509461b8c483e12975295765121d6..74e0d4d67467500c3cd62da3ae0b2e4a67e77680 100644 > --- a/Documentation/ABI/testing/sysfs-class-power > +++ b/Documentation/ABI/testing/sysfs-class-power > @@ -562,6 +562,16 @@ Description: > > Valid values: Represented in microohms > > +What: /sys/class/power_supply/<supply_name>/state_of_health > +Date: May 2025 > +Contact: linux-arm-msm@vger.kernel.org > +Description: > + Reports battery power supply state of health in percentage. > + > + Access: Read > + > + Valid values: 0 - 100 (percent) What does it mean that battery has 77% of health? > + > **USB Properties** > > What: /sys/class/power_supply/<supply_name>/input_current_limit > diff --git a/drivers/power/supply/power_supply_sysfs.c b/drivers/power/supply/power_supply_sysfs.c > index dd829148eb6fda5dcd7eab53fc70f99081763714..12af0d0398822ff23d8970f6bdc8e3ef68081a1d 100644 > --- a/drivers/power/supply/power_supply_sysfs.c > +++ b/drivers/power/supply/power_supply_sysfs.c > @@ -221,6 +221,7 @@ static struct power_supply_attr power_supply_attrs[] __ro_after_init = { > POWER_SUPPLY_ATTR(MANUFACTURE_MONTH), > POWER_SUPPLY_ATTR(MANUFACTURE_DAY), > POWER_SUPPLY_ATTR(RESISTANCE), > + POWER_SUPPLY_ATTR(STATE_OF_HEALTH), > /* Properties of type `const char *' */ > POWER_SUPPLY_ATTR(MODEL_NAME), > POWER_SUPPLY_ATTR(MANUFACTURER), > diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h > index de3e88810e322546470b21258913abc7707c86a7..dd0108940231352ac6c6f0fa962d1ea904d81c7a 100644 > --- a/include/linux/power_supply.h > +++ b/include/linux/power_supply.h > @@ -175,6 +175,7 @@ enum power_supply_property { > POWER_SUPPLY_PROP_MANUFACTURE_MONTH, > POWER_SUPPLY_PROP_MANUFACTURE_DAY, > POWER_SUPPLY_PROP_RESISTANCE, > + POWER_SUPPLY_PROP_STATE_OF_HEALTH, > /* Properties of type `const char *' */ > POWER_SUPPLY_PROP_MODEL_NAME, > POWER_SUPPLY_PROP_MANUFACTURER, > > -- > 2.34.1 > >
On 6/2/2025 2:17 PM, Dmitry Baryshkov wrote: > On Fri, May 30, 2025 at 03:35:07PM +0800, Fenglin Wu via B4 Relay wrote: >> From: Fenglin Wu <fenglin.wu@oss.qualcomm.com> >> >> Add state_of_health power supply property to represent battery >> health percentage. >> >> Signed-off-by: Fenglin Wu <fenglin.wu@oss.qualcomm.com> >> --- >> Documentation/ABI/testing/sysfs-class-power | 10 ++++++++++ >> drivers/power/supply/power_supply_sysfs.c | 1 + >> include/linux/power_supply.h | 1 + >> 3 files changed, 12 insertions(+) >> >> diff --git a/Documentation/ABI/testing/sysfs-class-power b/Documentation/ABI/testing/sysfs-class-power >> index 22a565a6a1c509461b8c483e12975295765121d6..74e0d4d67467500c3cd62da3ae0b2e4a67e77680 100644 >> --- a/Documentation/ABI/testing/sysfs-class-power >> +++ b/Documentation/ABI/testing/sysfs-class-power >> @@ -562,6 +562,16 @@ Description: >> >> Valid values: Represented in microohms >> >> +What: /sys/class/power_supply/<supply_name>/state_of_health >> +Date: May 2025 >> +Contact: linux-arm-msm@vger.kernel.org >> +Description: >> + Reports battery power supply state of health in percentage. >> + >> + Access: Read >> + >> + Valid values: 0 - 100 (percent) > What does it mean that battery has 77% of health? I will update this to explain it better: Reports battery power supply state of health in percentage, indicating that the maximum charge capacity has degraded to that percentage of its original designed capacity. >> + >> **USB Properties** >> >> What: /sys/class/power_supply/<supply_name>/input_current_limit >> diff --git a/drivers/power/supply/power_supply_sysfs.c b/drivers/power/supply/power_supply_sysfs.c >> index dd829148eb6fda5dcd7eab53fc70f99081763714..12af0d0398822ff23d8970f6bdc8e3ef68081a1d 100644 >> --- a/drivers/power/supply/power_supply_sysfs.c >> +++ b/drivers/power/supply/power_supply_sysfs.c >> @@ -221,6 +221,7 @@ static struct power_supply_attr power_supply_attrs[] __ro_after_init = { >> POWER_SUPPLY_ATTR(MANUFACTURE_MONTH), >> POWER_SUPPLY_ATTR(MANUFACTURE_DAY), >> POWER_SUPPLY_ATTR(RESISTANCE), >> + POWER_SUPPLY_ATTR(STATE_OF_HEALTH), >> /* Properties of type `const char *' */ >> POWER_SUPPLY_ATTR(MODEL_NAME), >> POWER_SUPPLY_ATTR(MANUFACTURER), >> diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h >> index de3e88810e322546470b21258913abc7707c86a7..dd0108940231352ac6c6f0fa962d1ea904d81c7a 100644 >> --- a/include/linux/power_supply.h >> +++ b/include/linux/power_supply.h >> @@ -175,6 +175,7 @@ enum power_supply_property { >> POWER_SUPPLY_PROP_MANUFACTURE_MONTH, >> POWER_SUPPLY_PROP_MANUFACTURE_DAY, >> POWER_SUPPLY_PROP_RESISTANCE, >> + POWER_SUPPLY_PROP_STATE_OF_HEALTH, >> /* Properties of type `const char *' */ >> POWER_SUPPLY_PROP_MODEL_NAME, >> POWER_SUPPLY_PROP_MANUFACTURER, >> >> -- >> 2.34.1 >> >>
On Tue, Jun 03, 2025 at 12:50:18PM +0800, Fenglin Wu wrote: > > On 6/2/2025 2:17 PM, Dmitry Baryshkov wrote: > > On Fri, May 30, 2025 at 03:35:07PM +0800, Fenglin Wu via B4 Relay wrote: > > > From: Fenglin Wu <fenglin.wu@oss.qualcomm.com> > > > > > > Add state_of_health power supply property to represent battery > > > health percentage. > > > > > > Signed-off-by: Fenglin Wu <fenglin.wu@oss.qualcomm.com> > > > --- > > > Documentation/ABI/testing/sysfs-class-power | 10 ++++++++++ > > > drivers/power/supply/power_supply_sysfs.c | 1 + > > > include/linux/power_supply.h | 1 + > > > 3 files changed, 12 insertions(+) > > > > > > diff --git a/Documentation/ABI/testing/sysfs-class-power b/Documentation/ABI/testing/sysfs-class-power > > > index 22a565a6a1c509461b8c483e12975295765121d6..74e0d4d67467500c3cd62da3ae0b2e4a67e77680 100644 > > > --- a/Documentation/ABI/testing/sysfs-class-power > > > +++ b/Documentation/ABI/testing/sysfs-class-power > > > @@ -562,6 +562,16 @@ Description: > > > Valid values: Represented in microohms > > > +What: /sys/class/power_supply/<supply_name>/state_of_health > > > +Date: May 2025 > > > +Contact: linux-arm-msm@vger.kernel.org > > > +Description: > > > + Reports battery power supply state of health in percentage. > > > + > > > + Access: Read > > > + > > > + Valid values: 0 - 100 (percent) > > What does it mean that battery has 77% of health? > > I will update this to explain it better: > > Reports battery power supply state of health in percentage, indicating that the maximum charge capacity has degraded to that percentage of its original designed capacity. Which basically means that we don't need it in the first place, as we can read capacity_full and capacity_full_design (or energy_full / energy_full_design) and divide one onto another. > > > > + > > > **USB Properties** > > > What: /sys/class/power_supply/<supply_name>/input_current_limit > > > diff --git a/drivers/power/supply/power_supply_sysfs.c b/drivers/power/supply/power_supply_sysfs.c > > > index dd829148eb6fda5dcd7eab53fc70f99081763714..12af0d0398822ff23d8970f6bdc8e3ef68081a1d 100644 > > > --- a/drivers/power/supply/power_supply_sysfs.c > > > +++ b/drivers/power/supply/power_supply_sysfs.c > > > @@ -221,6 +221,7 @@ static struct power_supply_attr power_supply_attrs[] __ro_after_init = { > > > POWER_SUPPLY_ATTR(MANUFACTURE_MONTH), > > > POWER_SUPPLY_ATTR(MANUFACTURE_DAY), > > > POWER_SUPPLY_ATTR(RESISTANCE), > > > + POWER_SUPPLY_ATTR(STATE_OF_HEALTH), > > > /* Properties of type `const char *' */ > > > POWER_SUPPLY_ATTR(MODEL_NAME), > > > POWER_SUPPLY_ATTR(MANUFACTURER), > > > diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h > > > index de3e88810e322546470b21258913abc7707c86a7..dd0108940231352ac6c6f0fa962d1ea904d81c7a 100644 > > > --- a/include/linux/power_supply.h > > > +++ b/include/linux/power_supply.h > > > @@ -175,6 +175,7 @@ enum power_supply_property { > > > POWER_SUPPLY_PROP_MANUFACTURE_MONTH, > > > POWER_SUPPLY_PROP_MANUFACTURE_DAY, > > > POWER_SUPPLY_PROP_RESISTANCE, > > > + POWER_SUPPLY_PROP_STATE_OF_HEALTH, > > > /* Properties of type `const char *' */ > > > POWER_SUPPLY_PROP_MODEL_NAME, > > > POWER_SUPPLY_PROP_MANUFACTURER, > > > > > > -- > > > 2.34.1 > > > > > >
diff --git a/Documentation/ABI/testing/sysfs-class-power b/Documentation/ABI/testing/sysfs-class-power index 22a565a6a1c509461b8c483e12975295765121d6..74e0d4d67467500c3cd62da3ae0b2e4a67e77680 100644 --- a/Documentation/ABI/testing/sysfs-class-power +++ b/Documentation/ABI/testing/sysfs-class-power @@ -562,6 +562,16 @@ Description: Valid values: Represented in microohms +What: /sys/class/power_supply/<supply_name>/state_of_health +Date: May 2025 +Contact: linux-arm-msm@vger.kernel.org +Description: + Reports battery power supply state of health in percentage. + + Access: Read + + Valid values: 0 - 100 (percent) + **USB Properties** What: /sys/class/power_supply/<supply_name>/input_current_limit diff --git a/drivers/power/supply/power_supply_sysfs.c b/drivers/power/supply/power_supply_sysfs.c index dd829148eb6fda5dcd7eab53fc70f99081763714..12af0d0398822ff23d8970f6bdc8e3ef68081a1d 100644 --- a/drivers/power/supply/power_supply_sysfs.c +++ b/drivers/power/supply/power_supply_sysfs.c @@ -221,6 +221,7 @@ static struct power_supply_attr power_supply_attrs[] __ro_after_init = { POWER_SUPPLY_ATTR(MANUFACTURE_MONTH), POWER_SUPPLY_ATTR(MANUFACTURE_DAY), POWER_SUPPLY_ATTR(RESISTANCE), + POWER_SUPPLY_ATTR(STATE_OF_HEALTH), /* Properties of type `const char *' */ POWER_SUPPLY_ATTR(MODEL_NAME), POWER_SUPPLY_ATTR(MANUFACTURER), diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h index de3e88810e322546470b21258913abc7707c86a7..dd0108940231352ac6c6f0fa962d1ea904d81c7a 100644 --- a/include/linux/power_supply.h +++ b/include/linux/power_supply.h @@ -175,6 +175,7 @@ enum power_supply_property { POWER_SUPPLY_PROP_MANUFACTURE_MONTH, POWER_SUPPLY_PROP_MANUFACTURE_DAY, POWER_SUPPLY_PROP_RESISTANCE, + POWER_SUPPLY_PROP_STATE_OF_HEALTH, /* Properties of type `const char *' */ POWER_SUPPLY_PROP_MODEL_NAME, POWER_SUPPLY_PROP_MANUFACTURER,