diff options
| author | shitao <shitao@kylinos.cn> | 2025-04-07 16:54:19 +0800 |
|---|---|---|
| committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2025-04-09 15:56:19 +0200 |
| commit | 46d839adcc93ccc445f90866c31b2ed2785f0319 (patch) | |
| tree | 60466bacdb49353aebca314c888feb1731788588 | |
| parent | 0af2f6be1b4281385b618cb86ad946eded089ac8 (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.c | 4 |
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) |
