]> git.karo-electronics.de Git - karo-tx-linux.git/commit
power: supply: Make power_supply_am_i_supplied return -ENODEV if there are no suppliers
authorHans de Goede <hdegoede@redhat.com>
Sun, 16 Apr 2017 15:30:31 +0000 (17:30 +0200)
committerSebastian Reichel <sre@kernel.org>
Mon, 1 May 2017 09:51:20 +0000 (11:51 +0200)
commit2848e039c562a5278cd2ebc5b005c0f1a381b34e
tree757b3d88a4b55704ab13abb1090873342205ba14
parent19a2ee69c20255157738402b6fdbcf5d708dad80
power: supply: Make power_supply_am_i_supplied return -ENODEV if there are no suppliers

It is sensible to assume that the hardware actually always has a
way of charging the battery so when power_supply_am_i_supplied does not
find any suppliers, that does not mean that there are none, but simply
that no power_supply-drivers are registered / bound for any suppliers for
the supply calling power_supply_am_i_supplied.

At which point a fuel-gauge driver calling power_supply_am_i_supplied()
cannot determine whether the battery is being charged or not.

Allow a caller of power_supply_am_i_supplied to differentiate between
there not being any suppliers, vs no suppliers being online by returning
-ENODEV if there are no suppliers matching supplied_to / supplied_from,
which allows fuel-gauge drivers to return POWER_SUPPLY_STATUS_UNKNOWN
rather then POWER_SUPPLY_STATUS_DISCHARGING if there are no suppliers.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
drivers/power/supply/power_supply_core.c