summaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorRakesh Bodla <rbodla@nvidia.com>2014-05-20 17:13:12 +0530
committerMrutyunjay Sawant <msawant@nvidia.com>2014-06-04 00:36:34 -0700
commit778f7433d27fcdb13f44358b29324ec45ec7e950 (patch)
tree3da28cafb095313a633bfaf3370912e8ac8e0644 /drivers/usb
parent5f4f29d3885d7ec34ec6f134efb1cec136692f53 (diff)
usb: gadget: tegra: fix usb cable extcon update
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 (cherry picked from commit 7c1a5e47f5ab792d9d722db32b5c60fc2957c8d9) Reviewed-on: http://git-master/r/417469 Reviewed-by: Mrutyunjay Sawant <msawant@nvidia.com> Tested-by: Mrutyunjay Sawant <msawant@nvidia.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/gadget/tegra_udc.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/usb/gadget/tegra_udc.c b/drivers/usb/gadget/tegra_udc.c
index a890d1e11cfd..e357fe25902d 100644
--- a/drivers/usb/gadget/tegra_udc.c
+++ b/drivers/usb/gadget/tegra_udc.c
@@ -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,