diff options
author | Rakesh Bodla <rbodla@nvidia.com> | 2014-05-20 17:13:12 +0530 |
---|---|---|
committer | Mrutyunjay Sawant <msawant@nvidia.com> | 2014-06-04 00:36:34 -0700 |
commit | 778f7433d27fcdb13f44358b29324ec45ec7e950 (patch) | |
tree | 3da28cafb095313a633bfaf3370912e8ac8e0644 /drivers/usb | |
parent | 5f4f29d3885d7ec34ec6f134efb1cec136692f53 (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.c | 7 |
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, |