]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
power: bq2419x:donot enable charging when OTG cable connected
authorVenkat Reddy Talla <vreddytalla@nvidia.com>
Mon, 13 Oct 2014 09:55:37 +0000 (15:25 +0530)
committerDhiren Parmar <dparmar@nvidia.com>
Wed, 22 Oct 2014 09:59:17 +0000 (02:59 -0700)
donot enable charging when OTG cable connected to device
while device entering into suspend mode.

Bug 200044210

Change-Id: Ia9173a1f04fa86cf6da8f0432f4efba8369415d4
Signed-off-by: Venkat Reddy Talla <vreddytalla@nvidia.com>
Reviewed-on: http://git-master/r/556242
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
drivers/power/bq2419x-charger.c

index f6f0367773752a11c10109ba54fa40e89bb4002f..418f02fcb753e382f810f112c7eea7989f82a2ae 100644 (file)
@@ -518,10 +518,12 @@ static int bq2419x_set_charging_current(struct regulator_dev *rdev,
        msleep(200);
        bq2419x->chg_status = BATTERY_DISCHARGING;
 
-       ret = bq2419x_charger_enable(bq2419x);
-       if (ret < 0) {
-               dev_err(bq2419x->dev, "Charger enable failed %d", ret);
-               return ret;
+       if (!bq2419x->is_otg_connected) {
+               ret = bq2419x_charger_enable(bq2419x);
+               if (ret < 0) {
+                       dev_err(bq2419x->dev, "Charger enable failed %d", ret);
+                       return ret;
+               }
        }
 
        ret = regmap_read(bq2419x->regmap, BQ2419X_SYS_STAT_REG, &val);
@@ -589,10 +591,12 @@ static int bq2419x_set_charging_current_suspend(struct bq2419x_chip *bq2419x,
        dev_info(bq2419x->dev, "Setting charging current %d mA\n",
                        in_current_limit);
 
-       ret = bq2419x_charger_enable(bq2419x);
-       if (ret < 0) {
-               dev_err(bq2419x->dev, "Charger enable failed %d", ret);
-               return ret;
+       if (!bq2419x->is_otg_connected) {
+               ret = bq2419x_charger_enable(bq2419x);
+               if (ret < 0) {
+                       dev_err(bq2419x->dev, "Charger enable failed %d", ret);
+                       return ret;
+               }
        }
 
        ret = regmap_read(bq2419x->regmap, BQ2419X_SYS_STAT_REG, &val);