From a7f5224a83ac58b569a0a3c3c95549d38f448171 Mon Sep 17 00:00:00 2001 From: Jeremy Thorpe Date: Wed, 18 Sep 2013 14:17:50 -0700 Subject: Turn off backlight power when lid is closed. Ensure that the backlight is off whenever the lid is closed, independently of whether the AP asserts SUSPEND_L. BUG=None TEST=On Kirby, toggle lid switch closed and see that backlight turns off immediately. BRANCH=None Change-Id: I1516be3b139a8cbb07a8a81229c8143c88118e91 Signed-off-by: Jeremy Thorpe Reviewed-on: https://chromium-review.googlesource.com/169875 Reviewed-by: Randall Spangler --- board/kirby/board.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/board/kirby/board.c b/board/kirby/board.c index 579d371c40..3ee9acfd7a 100644 --- a/board/kirby/board.c +++ b/board/kirby/board.c @@ -6,6 +6,7 @@ #include "adc.h" #include "common.h" +#include "chipset.h" #include "extpower.h" #include "gaia_power.h" #include "gpio.h" @@ -140,16 +141,13 @@ const struct i2c_port_t i2c_ports[] = { }; BUILD_ASSERT(ARRAY_SIZE(i2c_ports) == I2C_PORTS_USED); -static void board_enable_backlight(void) +static void board_update_backlight(void) { - gpio_set_level(GPIO_BST_LED_EN, 1); + gpio_set_level(GPIO_BST_LED_EN, chipset_in_state(CHIPSET_STATE_ON) || + gpio_get_level(GPIO_LID_OPEN)); } -DECLARE_HOOK(HOOK_CHIPSET_STARTUP, board_enable_backlight, HOOK_PRIO_DEFAULT); -DECLARE_HOOK(HOOK_CHIPSET_RESUME, board_enable_backlight, HOOK_PRIO_DEFAULT); - -static void board_disable_backlight(void) -{ - gpio_set_level(GPIO_BST_LED_EN, 0); -} -DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, board_disable_backlight, HOOK_PRIO_DEFAULT); -DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, board_disable_backlight, HOOK_PRIO_DEFAULT); +DECLARE_HOOK(HOOK_CHIPSET_STARTUP, board_update_backlight, HOOK_PRIO_DEFAULT); +DECLARE_HOOK(HOOK_CHIPSET_RESUME, board_update_backlight, HOOK_PRIO_DEFAULT); +DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, board_update_backlight, HOOK_PRIO_DEFAULT); +DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, board_update_backlight, HOOK_PRIO_DEFAULT); +DECLARE_HOOK(HOOK_LID_CHANGE, board_update_backlight, HOOK_PRIO_DEFAULT); -- cgit v1.2.1