summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Boichat <drinkcat@chromium.org>2018-04-10 09:01:31 +0800
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2018-04-26 01:35:04 +0000
commitc1e3ce642d8ef26c4a165dfb226d711afef375ae (patch)
tree321b2adbf6840c9b9d0c27224850e2831904780e
parent9f0102cc79b748243c036295b0ca01afb5825a28 (diff)
downloadchrome-ec-c1e3ce642d8ef26c4a165dfb226d711afef375ae.tar.gz
poppy: Move PMIC init to a deferred function
Instead of doing I2C traffic in an init hook, move it to a deferred function to be called outside of INIT_HOOK processing. (identical to CL:1001474 on eve branch, moved to poppy board file) BUG=b:77336348 BRANCH=poppy TEST=while true ; do ectool reboot_ec RO ; ectool reboot_ec RW ; done for 24 hours Change-Id: Ie7ce08f5c4d6ee7052f2c1b36b53099c9e208074 Original-Change-Id: Icd9c2096ca026da6308b74582144886b30ea965f Original-Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/1003436 Original-Reviewed-by: Furquan Shaikh <furquan@chromium.org> Signed-off-by: Furquan Shaikh <furquan@google.com> Reviewed-on: https://chromium-review.googlesource.com/1029254 Commit-Queue: Furquan Shaikh <furquan@chromium.org> Tested-by: Furquan Shaikh <furquan@chromium.org> Trybot-Ready: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
-rw-r--r--board/poppy/board.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/board/poppy/board.c b/board/poppy/board.c
index 2244619c41..c693e2374c 100644
--- a/board/poppy/board.c
+++ b/board/poppy/board.c
@@ -518,7 +518,7 @@ static void board_pmic_init(void)
/* Disable power button shutdown timer. */
i2c_write8(I2C_PORT_PMIC, I2C_ADDR_BD99992, 0x14, 0x00);
}
-DECLARE_HOOK(HOOK_INIT, board_pmic_init, HOOK_PRIO_DEFAULT);
+DECLARE_DEFERRED(board_pmic_init);
/* Initialize board. */
static void board_init(void)
@@ -595,6 +595,9 @@ static void board_init(void)
/* Enable Gyro interrupts */
gpio_enable_interrupt(GPIO_ACCELGYRO3_INT_L);
+
+ /* Initialize PMIC */
+ hook_call_deferred(&board_pmic_init_data, 0);
}
DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT);