summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-enterprise-panel.c
diff options
context:
space:
mode:
authorKarthik Ramakrishnan <karthikr@nvidia.com>2012-06-14 17:57:27 -0700
committerSimone Willett <swillett@nvidia.com>2012-07-27 09:58:55 -0700
commitf2664172e406f011e323066118f7bbdc38e1811a (patch)
tree8d6a3e1e6f9f724f958a6adce5280f854d3e6953 /arch/arm/mach-tegra/board-enterprise-panel.c
parent56e47baf724c23eb029a800c882728736bcd969f (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.c18
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;
}