From ae6b605620eddb90cee9ecfe75acf2ff3bdb8735 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Fri, 11 Jun 2021 16:26:53 -0600 Subject: 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 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2941817 Reviewed-by: Denis Brockus --- baseboard/asurada/baseboard.c | 10 +++------- 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 */ -- cgit v1.2.1