1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
/* Copyright 2022 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef __CROS_EC_HOOK_TYPES_H_
#define __CROS_EC_HOOK_TYPES_H_
#include <sys/util_macro.h>
/*
* Some config macros are defined but without any value for some boards, so
* IF_ENABLED checks cannot be used. In addition, config values may not be set
* when generating the linker script: in that case we emit every possible hook
* type, since doing so won't bloat the output if no corresponding sections
* were generated.
*/
#if defined(TEST_BUILD) || defined(_LINKER)
#define HOOK_TYPES_TEST_BUILD HOOK_TEST_1, HOOK_TEST_2, HOOK_TEST_3,
#else
#define HOOK_TYPES_TEST_BUILD
#endif
#if defined(CONFIG_USB_SUSPEND) || defined(_LINKER)
#define HOOK_TYPES_USB_SUSPEND HOOK_USB_PM_CHANGE
#else
#define HOOK_TYPES_USB_SUSPEND
#endif
/*
* HOOK_TYPES_LIST is a sequence of tokens that expands to every enabled
* `enum hook_type` value.
*
* If the enum definition is changed, this macro must also be changed.
*/
#define HOOK_TYPES_LIST \
LIST_DROP_EMPTY( \
HOOK_INIT, HOOK_PRE_FREQ_CHANGE, HOOK_FREQ_CHANGE, \
HOOK_SYSJUMP, HOOK_CHIPSET_PRE_INIT, HOOK_CHIPSET_STARTUP, \
HOOK_CHIPSET_RESUME, HOOK_CHIPSET_SUSPEND, \
IF_ENABLED(CONFIG_PLATFORM_EC_CHIPSET_RESUME_INIT_HOOK, \
(HOOK_CHIPSET_RESUME_INIT, \
HOOK_CHIPSET_SUSPEND_COMPLETE, )) \
HOOK_CHIPSET_SHUTDOWN, \
HOOK_CHIPSET_SHUTDOWN_COMPLETE, HOOK_CHIPSET_HARD_OFF, \
HOOK_CHIPSET_RESET, HOOK_AC_CHANGE, HOOK_LID_CHANGE, \
HOOK_TABLET_MODE_CHANGE, HOOK_BASE_ATTACHED_CHANGE, \
HOOK_POWER_BUTTON_CHANGE, HOOK_BATTERY_SOC_CHANGE, \
HOOK_TYPES_USB_SUSPEND, HOOK_TICK, HOOK_SECOND, \
HOOK_USB_PD_DISCONNECT, HOOK_USB_PD_CONNECT, \
HOOK_TYPES_TEST_BUILD)
#endif
|