summaryrefslogtreecommitdiff
path: root/drivers/usb/pd/policy_engine.c
diff options
context:
space:
mode:
authorNicholas Troast <ntroast@codeaurora.org>2017-07-25 13:18:03 -0700
committerNicholas Troast <ntroast@codeaurora.org>2017-08-10 15:44:47 -0700
commit2cc64cac04d1a4be942c970e051d1659b39781a2 (patch)
treea3ff15915560f3646b244ece110d2c9d3bc8d52d /drivers/usb/pd/policy_engine.c
parentdcdf2ac6c1db1055e2ac0efa5ecc06a172b64aa9 (diff)
power: qpnp-smb2: use correct properties
CURRENT_MAX and VOLTAGE_MAX should be used to show the current values for the charger. The driver currently uses them to communicate with the USB and PD drivers. Update the code such that USB uses SDP_CURRENT_MAX to set 500mA/900mA current limits after enumeration and PD uses PD_VOLTAGE_MIN/MAX to set the adapter voltage limits. CURRENT_MAX now shows the max current that can be drawn from the charger and VOLTAGE_MAX shows the max voltage that the charger can negotiate up to. CURRENT_MAX and VOLTAGE_MAX can no longer be set. Change-Id: I660e39effc1862051cff8b9babc885d8de3f9c84 Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
Diffstat (limited to 'drivers/usb/pd/policy_engine.c')
-rw-r--r--drivers/usb/pd/policy_engine.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/usb/pd/policy_engine.c b/drivers/usb/pd/policy_engine.c
index 0cbe95304417..e735e6e49e64 100644
--- a/drivers/usb/pd/policy_engine.c
+++ b/drivers/usb/pd/policy_engine.c
@@ -964,7 +964,7 @@ static void usbpd_set_state(struct usbpd *pd, enum usbpd_state next_state)
pd->current_voltage = pd->requested_voltage = 5000000;
val.intval = pd->requested_voltage; /* set max range to 5V */
power_supply_set_property(pd->usb_psy,
- POWER_SUPPLY_PROP_VOLTAGE_MAX, &val);
+ POWER_SUPPLY_PROP_PD_VOLTAGE_MAX, &val);
if (!pd->vbus_present) {
pd->current_state = PE_SNK_DISCOVERY;
@@ -1663,7 +1663,7 @@ static void usbpd_sm(struct work_struct *w)
pd->requested_voltage = 5000000;
val.intval = pd->requested_voltage;
power_supply_set_property(pd->usb_psy,
- POWER_SUPPLY_PROP_VOLTAGE_MIN, &val);
+ POWER_SUPPLY_PROP_PD_VOLTAGE_MIN, &val);
pd->in_pr_swap = false;
val.intval = 0;
@@ -1982,8 +1982,8 @@ static void usbpd_sm(struct work_struct *w)
val.intval = pd->requested_voltage;
power_supply_set_property(pd->usb_psy,
pd->requested_voltage >= pd->current_voltage ?
- POWER_SUPPLY_PROP_VOLTAGE_MAX :
- POWER_SUPPLY_PROP_VOLTAGE_MIN,
+ POWER_SUPPLY_PROP_PD_VOLTAGE_MAX :
+ POWER_SUPPLY_PROP_PD_VOLTAGE_MIN,
&val);
/*
@@ -2034,8 +2034,8 @@ static void usbpd_sm(struct work_struct *w)
val.intval = pd->requested_voltage;
power_supply_set_property(pd->usb_psy,
pd->requested_voltage >= pd->current_voltage ?
- POWER_SUPPLY_PROP_VOLTAGE_MIN :
- POWER_SUPPLY_PROP_VOLTAGE_MAX, &val);
+ POWER_SUPPLY_PROP_PD_VOLTAGE_MIN :
+ POWER_SUPPLY_PROP_PD_VOLTAGE_MAX, &val);
pd->current_voltage = pd->requested_voltage;
/* resume charging */
@@ -2217,7 +2217,7 @@ static void usbpd_sm(struct work_struct *w)
val.intval = pd->requested_voltage;
power_supply_set_property(pd->usb_psy,
- POWER_SUPPLY_PROP_VOLTAGE_MIN, &val);
+ POWER_SUPPLY_PROP_PD_VOLTAGE_MIN, &val);
pd_send_hard_reset(pd);
pd->in_explicit_contract = false;