From 74215f789c53e835461de7499155be39a7530163 Mon Sep 17 00:00:00 2001 From: Daisuke Nojiri Date: Tue, 7 Jun 2022 18:29:45 +0000 Subject: kblight: Initialize on AP startup This patch makes keyboard backlight module initialize on chipset startup instead of on reset. This will prevent LED drivers from being accessed before they're powered. BUG=b:233323599 BRANCH=None TEST=Taniks Change-Id: Ia57acdd57663c7bfa0dc3117cbc9ab6191d34c45 Signed-off-by: Daisuke Nojiri Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3693054 Reviewed-by: Parth Malkan Tested-by: Yu-An Chen --- common/keyboard_backlight.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/common/keyboard_backlight.c b/common/keyboard_backlight.c index 8cf400dc34..ef72e93fc8 100644 --- a/common/keyboard_backlight.c +++ b/common/keyboard_backlight.c @@ -113,7 +113,13 @@ static void keyboard_backlight_init(void) /* Don't leave kblight enable state undetermined */ kblight_enable(0); } +#ifdef HAS_TASK_CHIPSET +/* We're running on a system EC. Initialize kblight once per AP start-up. */ +DECLARE_HOOK(HOOK_CHIPSET_STARTUP, keyboard_backlight_init, HOOK_PRIO_DEFAULT); +#else +/* We're running on a KBMCU thus powered when AP starts. Do init on reset. */ DECLARE_HOOK(HOOK_INIT, keyboard_backlight_init, HOOK_PRIO_DEFAULT); +#endif #ifdef HAS_TASK_CHIPSET static void kblight_suspend(void) -- cgit v1.2.1