From 5d39a5984f816ecdc39003c646aec24e3719412a Mon Sep 17 00:00:00 2001 From: "choongryeol.lee" <choongryeol.lee@lge.com> Date: Fri, 31 Oct 2014 17:14:04 -0700 Subject: [PATCH] power: qpnp-charger: apply polarity change of ibat Since the sign of battery CURRENT_NOW prop is opposite of qpnp-charger's convention, apply ibat polarity change for the charger driver. Change-Id: Ib4221228e3297b889786dfb390eb14f21491593d Signed-off-by: choongryeol.lee <choongryeol.lee@lge.com> --- drivers/power/qpnp-charger.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/power/qpnp-charger.c b/drivers/power/qpnp-charger.c index 86f656131ae5..2c0cf18cd37a 100644 --- a/drivers/power/qpnp-charger.c +++ b/drivers/power/qpnp-charger.c @@ -2421,7 +2421,11 @@ get_prop_current_now(struct qpnp_chg_chip *chip) if (chip->bms_psy) { chip->bms_psy->get_property(chip->bms_psy, POWER_SUPPLY_PROP_CURRENT_NOW, &ret); - return ret.intval; + /* + * qpnp-charger's sign of ibat convention + * is opposite of power_supply's CURRENT_NOW + */ + return -1 * ret.intval; } else { pr_debug("No BMS supply registered return 0\n"); } @@ -2693,7 +2697,8 @@ qpnp_batt_power_get_property(struct power_supply *psy, val->intval = get_prop_capacity(chip); break; case POWER_SUPPLY_PROP_CURRENT_NOW: - val->intval = get_prop_current_now(chip); + /* positive value indicate current entering battery */ + val->intval = -1 * get_prop_current_now(chip); break; case POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN: val->intval = get_prop_full_design(chip); -- GitLab