power: supply: ab8500: Set typing and props
authorLinus Walleij <linus.walleij@linaro.org>
Tue, 13 Jun 2023 21:31:50 +0000 (23:31 +0200)
committerSebastian Reichel <sebastian.reichel@collabora.com>
Mon, 11 Sep 2023 10:51:07 +0000 (12:51 +0200)
commitdc77721ea4aa1e8937e2436f230b5a69065cc508
tree5f6673c9f1ec34907904c03dfa7b000180dfbcc1
parent0bb80ecc33a8fb5a682236443c1e740d5c917d1d
power: supply: ab8500: Set typing and props

I had the following weird phenomena on a mobile phone: while
the capacity in /sys/class/power_supply/ab8500_fg/capacity
would reflect the actual charge and capacity of the battery,
only 1/3 of the value was shown on the battery status
indicator and warnings for low battery appeared.

It turns out that UPower, the Freedesktop power daemon,
will average all the power supplies of type "battery" in
/sys/class/power_supply/* if there is more than one battery.

For the AB8500, there was "battery" ab8500_fg, ab8500_btemp
and ab8500_chargalg. The latter two don't know anything
about the battery, and should not be considered. They were
however averaged and with the capacity of 0.

Flag ab8500_btemp and ab8500_chargalg with type "unknown"
so they are not averaged as batteries.

Remove the technology prop from ab8500_btemp as well, all
it does is snoop in on knowledge from another supply.

After this the battery indicator shows the right value.

Cc: Stefan Hansson <newbyte@disroot.org>
Cc: stable@vger.kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
drivers/power/supply/ab8500_btemp.c
drivers/power/supply/ab8500_chargalg.c