]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
Revert "usb: gadget: tegra: Support charging in LP0"
authorRohith Seelaboyina <rseelaboyina@nvidia.com>
Thu, 12 Dec 2013 03:35:43 +0000 (09:05 +0530)
committerRama Kandhala <rkandhala@nvidia.com>
Thu, 12 Dec 2013 03:37:25 +0000 (19:37 -0800)
This reverts commit 5ac8c4014b65372fa1c43a6dcf5d9fb0920d7f6f.

Change-Id: I4388ad5ed7b8230ead1e235dcb24dc2f4bef2669
Reviewed-on: http://git-master/r/344577
Reviewed-by: Rohith Seelaboyina <rseelaboyina@nvidia.com>
Tested-by: Rohith Seelaboyina <rseelaboyina@nvidia.com>
Reviewed-by: Rama Kandhala <rkandhala@nvidia.com>
drivers/usb/gadget/tegra_udc.c
drivers/usb/gadget/tegra_udc.h

index 91df1a87bfa45bf9c691583c8a2f190937a095ec..fb6d9cbcb34e84868481753537a409c07a78d675 100644 (file)
@@ -2962,10 +2962,6 @@ static int __init tegra_udc_probe(struct platform_device *pdev)
        }
 #endif
 
-       if (udc->support_pmu_vbus && pdata->vbus_extcon_dev_name)
-               udc->vbus_extcon_dev =
-                       extcon_get_extcon_dev(pdata->vbus_extcon_dev_name);
-
        /* Create work for controlling clocks to the phy if otg is disabled */
        INIT_WORK(&udc->irq_work, tegra_udc_irq_work);
        INIT_DELAYED_WORK(&udc->non_std_charger_work,
@@ -3087,19 +3083,14 @@ static int tegra_udc_suspend(struct platform_device *pdev, pm_message_t state)
 
        DBG("%s(%d) BEGIN\n", __func__, __LINE__);
 
-       if (udc->support_pmu_vbus) {
-               if (extcon_get_cable_state(udc->vbus_extcon_dev, "USB"))
-                       udc->vbus_in_lp0 = true;
-       } else {
-               temp = udc_readl(udc, VBUS_WAKEUP_REG_OFFSET);
-               if (temp & USB_SYS_VBUS_STATUS)
-                       udc->vbus_in_lp0 = true;
-       }
+       temp = udc_readl(udc, VBUS_WAKEUP_REG_OFFSET);
+       if (temp & USB_SYS_VBUS_STATUS)
+               udc->vbus_in_lp0 = true;
        udc->connect_type_lp0 = udc->connect_type;
 
        /* If the controller is in otg mode, return */
        if (udc->transceiver)
-               return 0;
+                       return 0;
 
        if (udc->vbus_active) {
                spin_lock_irqsave(&udc->lock, flags);
@@ -3111,6 +3102,8 @@ static int tegra_udc_suspend(struct platform_device *pdev, pm_message_t state)
        }
        /* Stop the controller and turn off the clocks */
        dr_controller_stop(udc);
+       if (udc->transceiver)
+               udc->transceiver->state = OTG_STATE_UNDEFINED;
 
        tegra_usb_phy_power_off(udc->phy);
 
@@ -3128,23 +3121,12 @@ static int tegra_udc_resume(struct platform_device *pdev)
        udc->vbus_in_lp0 = false;
 
        /* Set Current limit to 0 if charger is disconnected in LP0 */
-       if (udc->vbus_reg != NULL) {
-               if (udc->support_pmu_vbus) {
-                       if ((udc->connect_type_lp0 != CONNECT_TYPE_NONE) &&
-                       !extcon_get_cable_state(udc->vbus_extcon_dev, "USB")) {
-                               udc->connect_type_lp0 = CONNECT_TYPE_NONE;
-                               regulator_set_current_limit(udc->vbus_reg,
-                                                                        0, 0);
-                       }
-               } else {
-                       temp = udc_readl(udc, VBUS_WAKEUP_REG_OFFSET);
-                       if ((udc->connect_type_lp0 != CONNECT_TYPE_NONE) &&
-                                       !(temp & USB_SYS_VBUS_STATUS)) {
-                               udc->connect_type_lp0 = CONNECT_TYPE_NONE;
-                               regulator_set_current_limit(udc->vbus_reg,
-                                                                        0, 0);
-                       }
-               }
+       temp = udc_readl(udc, VBUS_WAKEUP_REG_OFFSET);
+       if ((udc->connect_type_lp0 != CONNECT_TYPE_NONE)
+                       && !(temp & USB_SYS_VBUS_STATUS)) {
+               udc->connect_type_lp0 = CONNECT_TYPE_NONE;
+               if (udc->vbus_reg != NULL)
+                       regulator_set_current_limit(udc->vbus_reg, 0, 0);
        }
 
        if (udc->transceiver)
index 7461a2f1e41ffd2014adf5264f9f1ee9503533ef..b1860f44c38ff3f9e42eff8329ff152a177230d1 100644 (file)
@@ -474,7 +474,6 @@ struct tegra_udc {
        bool support_pmu_vbus;
        bool fence_read;
        bool vbus_in_lp0;
-       struct extcon_dev *vbus_extcon_dev;
 #ifdef CONFIG_EXTCON
        struct extcon_dev *edev;
 #endif