From 4aaf58e0b6cf0a373e7b3d10e80e3d4b75f601ac Mon Sep 17 00:00:00 2001 From: "choongryeol.lee" <choongryeol.lee@lge.com> Date: Wed, 17 Sep 2014 12:08:55 -0700 Subject: [PATCH] power: qpnp-charger: set usb props before enabling irq The initial setting of usb psy properties should be done before enabling usbin_valid irq to prevent incorrect usb online status. Also, since the setting of usb present is done in usbin_valid irq handler previously, remove the usb present setting in probe. Change-Id: I11b53f30739a98ebc7b9ac9efd2e7238f0219ecd Signed-off-by: choongryeol.lee <choongryeol.lee@lge.com> --- drivers/power/qpnp-charger.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/drivers/power/qpnp-charger.c b/drivers/power/qpnp-charger.c index b1b02ffc18a0..0b96ca6fe4bc 100644 --- a/drivers/power/qpnp-charger.c +++ b/drivers/power/qpnp-charger.c @@ -5402,19 +5402,16 @@ qpnp_charger_probe(struct spmi_device *spmi) if (chip->dc_chgpth_base) qpnp_chg_dc_dcin_valid_irq_handler(chip->dcin_valid.irq, chip); + /* Set USB psy online to avoid userspace from shutting down if battery + * capacity is at zero and no chargers online. */ + if (chip->usb_present) + power_supply_set_online(chip->usb_psy, 1); + qpnp_chg_enable_irq(chip, &chip->chg_gone); qpnp_chg_enable_irq(chip, &chip->usbin_valid); if (chip->dc_chgpth_base) qpnp_chg_enable_irq(chip, &chip->dcin_valid); - power_supply_set_present(chip->usb_psy, - qpnp_chg_is_usb_chg_plugged_in(chip)); - - /* Set USB psy online to avoid userspace from shutting down if battery - * capacity is at zero and no chargers online. */ - if (qpnp_chg_is_usb_chg_plugged_in(chip)) - power_supply_set_online(chip->usb_psy, 1); - schedule_delayed_work(&chip->aicl_check_work, msecs_to_jiffies(EOC_CHECK_PERIOD_MS)); pr_info("success chg_dis = %d, bpd = %d, usb = %d, dc = %d b_health = %d batt_present = %d\n", -- GitLab