From 4681e6bc342b29f2f6e4527fbec58cd110515ee3 Mon Sep 17 00:00:00 2001 From: ChromeOS Developer Date: Mon, 24 Mar 2014 12:50:01 -0700 Subject: [PATCH] Initialize extpower module prior to modules with default priority This ensures that modules with default priority (or later) get an accurate response from extpower_is_present(). BUG=chrome-os-partner:27160 BRANCH=ToT TEST=Add a default priority initializer. Verify it gets the correct value for extpower_is_present() with and without external power connected. static void extpower_init_check(void) { CPRINTF("[%T Extpower %s]\n", extpower_is_present() ? "on" : "off"); } DECLARE_HOOK(HOOK_INIT, extpower_init_check, HOOK_PRIO_DEFAULT); Change-Id: Ic47c79d3ab4e7b2fdb6ad2354e4f455697cac250 Original-Change-Id: I13edc32b2a4609fad12982fd710fa95f9e81c9c2 Signed-off-by: Dave Parker Reviewed-on: https://chromium-review.googlesource.com/191296 Reviewed-by: Randall Spangler Reviewed-on: https://chromium-review.googlesource.com/192137 --- common/extpower_gpio.c | 2 +- include/hooks.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/common/extpower_gpio.c b/common/extpower_gpio.c index 7a5cb0f843..d027b3d221 100644 --- a/common/extpower_gpio.c +++ b/common/extpower_gpio.c @@ -55,4 +55,4 @@ static void extpower_init(void) /* Enable interrupts, now that we've initialized */ gpio_enable_interrupt(GPIO_AC_PRESENT); } -DECLARE_HOOK(HOOK_INIT, extpower_init, HOOK_PRIO_DEFAULT); +DECLARE_HOOK(HOOK_INIT, extpower_init, HOOK_PRIO_INIT_EXTPOWER); diff --git a/include/hooks.h b/include/hooks.h index 944d44bd06..c691c19044 100644 --- a/include/hooks.h +++ b/include/hooks.h @@ -29,6 +29,8 @@ enum hook_priority { HOOK_PRIO_INIT_POWER_BUTTON = HOOK_PRIO_FIRST + 4, /* PWM inits before modules which might use it (fans, LEDs) */ HOOK_PRIO_INIT_PWM = HOOK_PRIO_FIRST + 5, + /* Extpower inits before modules which might use it (battery, LEDs) */ + HOOK_PRIO_INIT_EXTPOWER = HOOK_PRIO_FIRST + 6, /* Specific values to lump temperature-related hooks together */ HOOK_PRIO_TEMP_SENSOR = 6000,