summaryrefslogtreecommitdiff
path: root/zephyr/projects/brya
diff options
context:
space:
mode:
authorAndrew McRae <amcrae@google.com>2022-03-11 01:58:13 +1100
committerCommit Bot <commit-bot@chromium.org>2022-03-15 05:19:30 +0000
commit4de0a08e5d3da0dd7997efdd6a35fe33b2af6397 (patch)
tree80ea67aefbbd0c89a67d4c7337c373c33dc064dc /zephyr/projects/brya
parent421c1d9174ed8a9a24b0d58aaf9f75b004965a63 (diff)
downloadchrome-ec-4de0a08e5d3da0dd7997efdd6a35fe33b2af6397.tar.gz
zephyr: Convert HOOK_CHIPSET calls to AP power callbacks
Convert HOOK_CHIPSET_ hooks to AP power callback handling. BUG=b:223800037 TEST=zmake testall BRANCH=none Signed-off-by: Andrew McRae <amcrae@google.com> Change-Id: I1a9574cacd5746467494facf9133f360a31cc3d5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3518465 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Diffstat (limited to 'zephyr/projects/brya')
-rw-r--r--zephyr/projects/brya/brya/kblight_hooks.c41
1 files changed, 27 insertions, 14 deletions
diff --git a/zephyr/projects/brya/brya/kblight_hooks.c b/zephyr/projects/brya/brya/kblight_hooks.c
index e2732533d5..c56aeb5907 100644
--- a/zephyr/projects/brya/brya/kblight_hooks.c
+++ b/zephyr/projects/brya/brya/kblight_hooks.c
@@ -6,6 +6,7 @@
#include <drivers/gpio.h>
#include <stdbool.h>
+#include <ap_power/ap_power.h>
#include "cbi.h"
#include "hooks.h"
@@ -20,34 +21,46 @@ static inline void kbd_backlight_enable(bool enable)
!enable);
}
-/* Called on AP S3 -> S0 transition */
-static void board_chipset_resume(void)
+static void board_backlight_handler(struct ap_power_ev_callback *cb,
+ struct ap_power_ev_data data)
{
- /* Allow keyboard backlight to be enabled */
+ bool enable;
- kbd_backlight_enable(true);
-}
-DECLARE_HOOK(HOOK_CHIPSET_RESUME, board_chipset_resume, HOOK_PRIO_DEFAULT);
+ switch (data.event) {
+ default:
+ return;
-/* Called on AP S0 -> S3 transition */
-static void board_chipset_suspend(void)
-{
- /* Turn off the keyboard backlight if it's on. */
+ case AP_POWER_RESUME:
+ /* Called on AP S3 -> S0 transition */
+ enable = true;
+ break;
- kbd_backlight_enable(false);
+ case AP_POWER_SUSPEND:
+ /* Called on AP S0 -> S3 transition */
+ enable = false;
+ break;
+ }
+ kbd_backlight_enable(enable);
}
-DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, board_chipset_suspend, HOOK_PRIO_DEFAULT);
/*
* Explicitly apply the board ID 1 *gpio.inc settings to pins that
* were reassigned on current boards.
*/
-
static void set_board_id_1_gpios(void)
{
+ static struct ap_power_ev_callback cb;
+
+ /*
+ * Add a callback for suspend/resume to
+ * control the keyboard backlight.
+ */
+ ap_power_ev_init_callback(&cb, board_backlight_handler,
+ AP_POWER_RESUME | AP_POWER_SUSPEND);
+ ap_power_ev_add_callback(&cb);
+
if (get_board_id() != 1)
return;
-
gpio_pin_configure_dt(GPIO_DT_FROM_NODELABEL(gpio_id_1_ec_kb_bl_en),
GPIO_OUTPUT_LOW);
}