diff options
author | Karthik Ramakrishnan <karthikr@nvidia.com> | 2012-06-14 17:57:27 -0700 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-07-27 09:58:55 -0700 |
commit | f2664172e406f011e323066118f7bbdc38e1811a (patch) | |
tree | 8d6a3e1e6f9f724f958a6adce5280f854d3e6953 /arch/arm/mach-tegra/board-enterprise-panel.c | |
parent | 56e47baf724c23eb029a800c882728736bcd969f (diff) |
arm: tegra: enterprise: Turn LCD_RESET low in display off
During early suspend, LCD_RESET output needs to be
turned low. 3mW power savings during display Off and
1mW on lp0.
Bug 969716
Bug 990845
Change-Id: Ia773f0411452fad3eddccb5f293d7f32c4a46a56
signed-off-by: Karthik Ramakrishnan <karthikr@nvidia.com>
(cherry picked from commit 87322ed7e125ae1ac8d05b623c66f6ab7ea40881)
Reviewed-on: http://git-master/r/114057
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/board-enterprise-panel.c')
-rw-r--r-- | arch/arm/mach-tegra/board-enterprise-panel.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/arch/arm/mach-tegra/board-enterprise-panel.c b/arch/arm/mach-tegra/board-enterprise-panel.c index 837635bf0731..00b8b29c8318 100644 --- a/arch/arm/mach-tegra/board-enterprise-panel.c +++ b/arch/arm/mach-tegra/board-enterprise-panel.c @@ -1,7 +1,7 @@ /* * arch/arm/mach-tegra/board-enterprise-panel.c * - * Copyright (c) 2011-2012, NVIDIA Corporation. + * Copyright (c) 2011-2012, NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -554,16 +554,13 @@ static int enterprise_dsi_panel_enable(void) } } - if (kernel_1st_panel_init != true) { + if (kernel_1st_panel_init == true) { ret = gpio_request(enterprise_dsi_panel_reset, "panel reset"); if (ret < 0) return ret; - - ret = gpio_direction_output(enterprise_dsi_panel_reset, 0); - if (ret < 0) { - gpio_free(enterprise_dsi_panel_reset); - return ret; - } + kernel_1st_panel_init = false; + } else { + gpio_direction_output(enterprise_dsi_panel_reset, 0); gpio_set_value(enterprise_dsi_panel_reset, 0); udelay(2000); @@ -581,10 +578,7 @@ static int enterprise_dsi_panel_disable(void) regulator_disable(enterprise_lcd_reg); #if DSI_PANEL_RESET - if (kernel_1st_panel_init != true) { - gpio_free(enterprise_dsi_panel_reset); - } else - kernel_1st_panel_init = false; + gpio_direction_output(enterprise_dsi_panel_reset, 0); #endif return 0; } |