diff options
author | Simon Glass <sjg@chromium.org> | 2021-06-11 16:26:53 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-06-15 18:39:08 +0000 |
commit | ae6b605620eddb90cee9ecfe75acf2ff3bdb8735 (patch) | |
tree | dd5311030d1ff100c7652dc354f730d23b2b2af1 | |
parent | bf6c2290a9f9a0bcda4e101b2e80555a88753630 (diff) | |
download | chrome-ec-ae6b605620eddb90cee9ecfe75acf2ff3bdb8735.tar.gz |
asurada: Add interrupt functions to a header file
We need to split the implementation of USB-C into multiple files,
since Zephyr cannot build board.c or baseboard.c
This means that we cannot use static definitions for the interrupt
functions, since it forces gpio_list.h to be included by only a single
C file.
Instead we must put them in a header file so they can be defined in
any of the files that are built.
Update these functions and add them to the baseboard_common header.
BUG=b:190213172
BRANCH=none
TEST=with other CLs, build asurada for Zephyr
Change-Id: I99980db47820d903403a7b030d4bc33ff53373f4
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2941817
Reviewed-by: Denis Brockus <dbrockus@chromium.org>
-rw-r--r-- | baseboard/asurada/baseboard.c | 10 | ||||
-rw-r--r-- | baseboard/asurada/baseboard_common.h | 6 |
2 files changed, 9 insertions, 7 deletions
diff --git a/baseboard/asurada/baseboard.c b/baseboard/asurada/baseboard.c index a3b81f565f..7b12d9cd40 100644 --- a/baseboard/asurada/baseboard.c +++ b/baseboard/asurada/baseboard.c @@ -54,10 +54,6 @@ #include "usb_pd.h" #include "usb_pd_tcpm.h" -static void bc12_interrupt(enum gpio_signal signal); -static void ppc_interrupt(enum gpio_signal signal); -static void x_ec_interrupt(enum gpio_signal signal); - #include "gpio_list.h" #define CPRINTSUSB(format, args...) cprints(CC_USBCHARGE, format, ## args) @@ -154,7 +150,7 @@ struct bc12_config bc12_ports[CONFIG_USB_PD_PORT_MAX_COUNT] = { { .drv = &pi3usb9201_drv }, }; -static void bc12_interrupt(enum gpio_signal signal) +void bc12_interrupt(enum gpio_signal signal) { if (signal == GPIO_USB_C0_BC12_INT_ODL) task_set_event(TASK_ID_USB_CHG_P0, USB_CHG_EVENT_BC12); @@ -173,7 +169,7 @@ static void board_sub_bc12_init(void) /* Must be done after I2C and subboard */ DECLARE_HOOK(HOOK_INIT, board_sub_bc12_init, HOOK_PRIO_INIT_I2C + 1); -static void ppc_interrupt(enum gpio_signal signal) +void ppc_interrupt(enum gpio_signal signal) { if (signal == GPIO_USB_C0_PPC_INT_ODL) /* C0: PPC interrupt */ @@ -489,7 +485,7 @@ static void hdmi_hpd_interrupt(enum gpio_signal signal) } /* HDMI/TYPE-C function shared subboard interrupt */ -static void x_ec_interrupt(enum gpio_signal signal) +void x_ec_interrupt(enum gpio_signal signal) { int sub = board_get_sub_board(); diff --git a/baseboard/asurada/baseboard_common.h b/baseboard/asurada/baseboard_common.h index 35af7a9471..0245ae42bf 100644 --- a/baseboard/asurada/baseboard_common.h +++ b/baseboard/asurada/baseboard_common.h @@ -18,6 +18,8 @@ #ifndef __ASSEMBLER__ +#include "gpio_signal.h" + enum board_sub_board { SUB_BOARD_NONE = -1, SUB_BOARD_TYPEC, @@ -34,5 +36,9 @@ enum board_sub_board { */ int board_get_version(void); +void ppc_interrupt(enum gpio_signal signal); +void bc12_interrupt(enum gpio_signal signal); +void x_ec_interrupt(enum gpio_signal signal); + #endif /* !__ASSEMBLER__ */ #endif /* __CROS_EC_BASEBOARD_COMMON_H */ |