power: pm8921-bms: fix rounding down state of charge
The code is rounding down state of charge value in the final step of the
calculation. Instead use a division that returns the closest integer.
Change-Id: Ia47d1c4eb684dd4c31e454dc762add0feab66b75
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
diff --git a/drivers/power/pm8921-bms.c b/drivers/power/pm8921-bms.c
index 502ed90..6898435 100644
--- a/drivers/power/pm8921-bms.c
+++ b/drivers/power/pm8921-bms.c
@@ -1576,8 +1576,8 @@
fcc_uah, unusable_charge_uah);
soc = 0;
} else {
- soc = (remaining_usable_charge_uah * 100)
- / (fcc_uah - unusable_charge_uah);
+ soc = DIV_ROUND_CLOSEST((remaining_usable_charge_uah * 100),
+ (fcc_uah - unusable_charge_uah));
}
if (soc > 100)