summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshitao <shitao@kylinos.cn>2025-04-07 16:54:19 +0800
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2025-04-09 15:56:19 +0200
commit46d839adcc93ccc445f90866c31b2ed2785f0319 (patch)
tree60466bacdb49353aebca314c888feb1731788588
parent0af2f6be1b4281385b618cb86ad946eded089ac8 (diff)
ACPI: battery: Round capacity percengate to closest integer
If the difference between capacity_now and full_capacity is within 0.5%, 100% is arguably a better number to expose than 99% and exposing the latter may confuse the user to think that there's something wrong with the battery. Round the capacity percentage to the closest integer value to avoid the confusion. Signed-off-by: shitao <shitao@kylinos.cn> Link: https://patch.msgid.link/20250407085419.494234-1-shitao@kylinos.cn [ rjw: Subject and changelog edits ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r--drivers/acpi/battery.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c
index 6760330a8af5..6905b56bf3e4 100644
--- a/drivers/acpi/battery.c
+++ b/drivers/acpi/battery.c
@@ -279,8 +279,8 @@ static int acpi_battery_get_property(struct power_supply *psy,
full_capacity == ACPI_BATTERY_VALUE_UNKNOWN)
ret = -ENODEV;
else
- val->intval = battery->capacity_now * 100/
- full_capacity;
+ val->intval = DIV_ROUND_CLOSEST_ULL(battery->capacity_now * 100ULL,
+ full_capacity);
break;
case POWER_SUPPLY_PROP_CAPACITY_LEVEL:
if (battery->state & ACPI_BATTERY_STATE_CRITICAL)