• Hans de Goede's avatar
    power: supply: Make power_supply_am_i_supplied return -ENODEV if there are no suppliers · 2848e039
    Hans de Goede authored
    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: default avatarHans de Goede <hdegoede@redhat.com>
    Reviewed-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
    Signed-off-by: default avatarSebastian Reichel <sebastian.reichel@collabora.co.uk>
    2848e039
power_supply_core.c 25.5 KB