diff options
author | Linux Build Service Account <lnxbuild@quicinc.com> | 2017-08-10 21:36:39 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-08-10 21:36:38 -0700 |
commit | 623fc3cf143a8f14e6201e14a21b99d41a74c775 (patch) | |
tree | adee132db07a9e108852f5354545d9a9d47194f2 | |
parent | 0cae764de275b398f99ee0a8361a3c59d433cec2 (diff) | |
parent | 4558dc0f556b37870f8a9af6fede19bbcc0d89b6 (diff) |
Merge "power: qcom: smb-lib: optimize parallel current limiting with PD"
-rw-r--r-- | drivers/power/supply/qcom/smb-lib.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/power/supply/qcom/smb-lib.c b/drivers/power/supply/qcom/smb-lib.c index 3984a49f51f6..825d49b2fe4f 100644 --- a/drivers/power/supply/qcom/smb-lib.c +++ b/drivers/power/supply/qcom/smb-lib.c @@ -2398,16 +2398,9 @@ int smblib_get_prop_input_current_settled(struct smb_charger *chg, int smblib_get_prop_input_voltage_settled(struct smb_charger *chg, union power_supply_propval *val) { - const struct apsd_result *apsd_result = smblib_get_apsd_result(chg); int rc, pulses; - val->intval = MICRO_5V; - if (apsd_result == NULL) { - smblib_err(chg, "APSD result is NULL\n"); - return 0; - } - - switch (apsd_result->pst) { + switch (chg->real_charger_type) { case POWER_SUPPLY_TYPE_USB_HVDCP_3: rc = smblib_get_pulse_cnt(chg, &pulses); if (rc < 0) { @@ -2417,6 +2410,9 @@ int smblib_get_prop_input_voltage_settled(struct smb_charger *chg, } val->intval = MICRO_5V + HVDCP3_STEP_UV * pulses; break; + case POWER_SUPPLY_TYPE_USB_PD: + val->intval = chg->voltage_min_uv; + break; default: val->intval = MICRO_5V; break; @@ -2664,6 +2660,7 @@ int smblib_set_prop_usb_voltage_min(struct smb_charger *chg, } chg->voltage_min_uv = min_uv; + power_supply_changed(chg->usb_main_psy); return rc; } |