lkml.org 
[lkml]   [2020]   [Nov]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.9 067/391] power: supply: bq27xxx: report "not charging" on all types
    Date
    From: Krzysztof Kozlowski <krzk@kernel.org>

    [ Upstream commit 7bf738ba110722b63e9dc8af760d3fb2aef25593 ]

    Commit 6f24ff97e323 ("power: supply: bq27xxx_battery: Add the
    BQ27Z561 Battery monitor") and commit d74534c27775 ("power:
    bq27xxx_battery: Add support for additional bq27xxx family devices")
    added support for new device types by copying most of the code and
    adding necessary quirks.

    However they did not copy the code in bq27xxx_battery_status()
    responsible for returning POWER_SUPPLY_STATUS_NOT_CHARGING.

    Unify the bq27xxx_battery_status() so for all types when charger is
    supplied, it will return "not charging" status.

    Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/power/supply/bq27xxx_battery.c | 6 ++++--
    1 file changed, 4 insertions(+), 2 deletions(-)

    diff --git a/drivers/power/supply/bq27xxx_battery.c b/drivers/power/supply/bq27xxx_battery.c
    index a123f6e21f08a..08b9d025a3e81 100644
    --- a/drivers/power/supply/bq27xxx_battery.c
    +++ b/drivers/power/supply/bq27xxx_battery.c
    @@ -1772,8 +1772,6 @@ static int bq27xxx_battery_status(struct bq27xxx_device_info *di,
    status = POWER_SUPPLY_STATUS_FULL;
    else if (di->cache.flags & BQ27000_FLAG_CHGS)
    status = POWER_SUPPLY_STATUS_CHARGING;
    - else if (power_supply_am_i_supplied(di->bat) > 0)
    - status = POWER_SUPPLY_STATUS_NOT_CHARGING;
    else
    status = POWER_SUPPLY_STATUS_DISCHARGING;
    } else if (di->opts & BQ27Z561_O_BITS) {
    @@ -1792,6 +1790,10 @@ static int bq27xxx_battery_status(struct bq27xxx_device_info *di,
    status = POWER_SUPPLY_STATUS_CHARGING;
    }

    + if ((status == POWER_SUPPLY_STATUS_DISCHARGING) &&
    + (power_supply_am_i_supplied(di->bat) > 0))
    + status = POWER_SUPPLY_STATUS_NOT_CHARGING;
    +
    val->intval = status;

    return 0;
    --
    2.27.0


    \
     
     \ /
      Last update: 2020-11-03 21:40    [W:8.237 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site