diff options
author | Krishna Yarlagadda <kyarlagadda@nvidia.com> | 2012-07-18 17:04:33 +0530 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-07-24 11:36:16 -0700 |
commit | 50331bba385d880f74dd9dcbce8a32d6f4e49f8c (patch) | |
tree | 386a1b6764ccbad4dc983ed7e6ae162b281b2ff4 | |
parent | 8ac3c30d16e9152d0df6f0b35236f81974fe391a (diff) |
ARM: tegra: usb: regulator on during lp0 on T20
Tegra 2 requires regulator to be on during lp0
Bug 1012273
Change-Id: I750892fd391be327e617c70b7da4c984019a32fa
Signed-off-by: Krishna Yarlagadda <kyarlagadda@nvidia.com>
Reviewed-on: http://git-master/r/116743
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>
-rw-r--r-- | arch/arm/mach-tegra/usb_phy.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/arch/arm/mach-tegra/usb_phy.c b/arch/arm/mach-tegra/usb_phy.c index 62884df14269..4cc80e68d89c 100644 --- a/arch/arm/mach-tegra/usb_phy.c +++ b/arch/arm/mach-tegra/usb_phy.c @@ -405,6 +405,8 @@ void tegra_usb_phy_close(struct tegra_usb_phy *phy) } if (phy->vdd_reg) { + if (phy->vdd_reg_on) + regulator_disable(phy->vdd_reg); regulator_put(phy->vdd_reg); } @@ -470,17 +472,12 @@ int tegra_usb_phy_power_off(struct tegra_usb_phy *phy) } } - if (phy->vdd_reg && phy->vdd_reg_on) { -#ifndef CONFIG_ARCH_TEGRA_2x_SOC - regulator_disable(phy->vdd_reg); - phy->vdd_reg_on = false; -#else - if (tegra_get_revision() >= TEGRA_REVISION_A03) { + if (phy->vdd_reg && phy->vdd_reg_on) + if (phy->pdata->has_hostpc || + phy->pdata->builtin_host_disabled) { regulator_disable(phy->vdd_reg); phy->vdd_reg_on = false; } -#endif - } phy->phy_power_on = false; |