diff options
author | Martin Bergstrom <martin.bergstrom@stericsson.com> | 2012-08-22 11:13:07 +0200 |
---|---|---|
committer | Mathieu J. Poirier <mathieu.poirier@linaro.org> | 2012-09-25 09:41:19 -0600 |
commit | e2b4e4497df1885c84327c92f60edbf290aef674 (patch) | |
tree | 0c3c94222f99c534d1dc8bb658e505c9ebd6f987 | |
parent | 5379bcbb7b9866ccf78e8840f9262b6a1b72d058 (diff) |
power: ab8500_charger: Limit USB charger currentux500-battery-management
The USB charger current is limited according to information comming
from the USB driver
Signed-off-by: Martin Bergstrom <martin.bergstrom@stericsson.com>
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
-rw-r--r-- | drivers/power/ab8500_charger.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/power/ab8500_charger.c b/drivers/power/ab8500_charger.c index afb4fda42522..3c6f11c1fb0f 100644 --- a/drivers/power/ab8500_charger.c +++ b/drivers/power/ab8500_charger.c @@ -1248,6 +1248,9 @@ static int ab8500_charger_set_vbus_in_curr(struct ab8500_charger *di, if (di->max_usb_in_curr.set_max > 0) min_value = min(di->max_usb_in_curr.set_max, min_value); + if (di->usb_state.usb_current >= 0) + min_value = min(di->usb_state.usb_current, min_value); + switch (min_value) { case 100: if (di->vbat < VBAT_TRESH_IP_CUR_RED) @@ -3413,6 +3416,7 @@ static int __devinit ab8500_charger_probe(struct platform_device *pdev) di->usb_chg.wdt_refresh = CHG_WD_INTERVAL; di->usb_chg.enabled = di->pdata->usb_enabled; di->usb_chg.external = false; + di->usb_state.usb_current = -1; /* Create a work queue for the charger */ di->charger_wq = |