summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2021-06-11 16:26:53 -0600
committerCommit Bot <commit-bot@chromium.org>2021-06-15 18:39:08 +0000
commitae6b605620eddb90cee9ecfe75acf2ff3bdb8735 (patch)
treedd5311030d1ff100c7652dc354f730d23b2b2af1
parentbf6c2290a9f9a0bcda4e101b2e80555a88753630 (diff)
downloadchrome-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.c10
-rw-r--r--baseboard/asurada/baseboard_common.h6
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 */