]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
usb: gadget: tegra: fix usb cable extcon update
authorRakesh Bodla <rbodla@nvidia.com>
Tue, 20 May 2014 11:43:12 +0000 (17:13 +0530)
committerTony Ly <tly@nvidia.com>
Thu, 29 May 2014 17:51:44 +0000 (10:51 -0700)
USB cable status  now properly
updated to extcon framework, with which
charging icon will be updated properly.

Bug 1458999
Bug 200002489
Bug 1503711

Change-Id: If509e05e1b0ffd6e1fb34e58b9c01b7345751653
Signed-off-by: Rakesh Bodla <rbodla@nvidia.com>
Reviewed-on: http://git-master/r/412019
Reviewed-by: Tony Ly <tly@nvidia.com>
Tested-by: Tony Ly <tly@nvidia.com>
drivers/usb/gadget/tegra_udc.c

index 5a2dcd88e8eaacbff4c45a3d15d283df3af33403..39ef5057b43ce7b3a40cb960eea4d90569540268 100644 (file)
@@ -1372,7 +1372,8 @@ static void tegra_udc_set_extcon_state(struct tegra_udc *udc)
        if (udc->prev_connect_type != CONNECT_TYPE_NONE)
                extcon_set_cable_state(edev, cables[udc->prev_connect_type],
                                        false);
-       if (udc->connect_type != udc->connect_type_lp0)
+       if (udc->connect_type != udc->connect_type_lp0
+                       && udc->connect_type != CONNECT_TYPE_NONE)
                extcon_set_cable_state(edev, cables[udc->connect_type], true);
 }
 
@@ -1477,6 +1478,8 @@ static int tegra_usb_set_charging_current(struct tegra_udc *udc)
                        ret = regulator_set_current_limit(udc->vbus_reg,
                                                                 0, max_ua);
        }
+
+
        if (!udc->vbus_in_lp0) {
                tegra_udc_set_extcon_state(udc);
                udc->connect_type_lp0 = CONNECT_TYPE_NONE;
@@ -1509,8 +1512,6 @@ static int tegra_detect_cable_type(struct tegra_udc *udc)
                                        CONNECT_TYPE_NON_STANDARD_CHARGER);
                        tegra_usb_set_charging_current(udc);
 
-                       tegra_udc_set_charger_type(udc,
-                                       CONNECT_TYPE_NONE);
                        if (tegra_usb_phy_qc2_charger_detected(udc->phy,
                                        udc->qc2_voltage))
                                tegra_udc_set_charger_type(udc,