diff options
author | Jeremy Thorpe <jeremyt@chromium.org> | 2013-09-18 14:17:50 -0700 |
---|---|---|
committer | chrome-internal-fetch <chrome-internal-fetch@google.com> | 2013-09-19 02:42:00 +0000 |
commit | a7f5224a83ac58b569a0a3c3c95549d38f448171 (patch) | |
tree | 4f8004ed60cdcff36235533e410c634ad7641624 | |
parent | a95e80dd47474a25a77f0a3507053848c3fa0f36 (diff) | |
download | chrome-ec-a7f5224a83ac58b569a0a3c3c95549d38f448171.tar.gz |
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 <jeremyt@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/169875
Reviewed-by: Randall Spangler <rspangler@chromium.org>
-rw-r--r-- | board/kirby/board.c | 20 |
1 files 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); |