summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Hughes <tomhughes@chromium.org>2021-10-25 17:59:54 +0000
committerCommit Bot <commit-bot@chromium.org>2021-11-03 23:00:04 +0000
commit19552a15af11e6a0d3fc1498aabf8338c8804b80 (patch)
tree481471fce5d00c7159cb3569b19157527352e218
parentdcc080eeeee889be594af9fb20a1344de5d2cbc7 (diff)
downloadchrome-ec-19552a15af11e6a0d3fc1498aabf8338c8804b80.tar.gz
board/woomax,board/morphius: Fix return type
clang warns: board/morphius/board.c:406:8: error: implicit conversion from enumeration type 'enum ioex_signal' to different enumeration type 'enum gpio_signal' [-Werror,-Wenum-conversion] ? IOEX_USB_C1_HPD_IN_DB ^~~~~~~~~~~~~~~~~~~~~ board/woomax/board.c:864:6: error: implicit conversion from enumeration type 'enum ioex_signal' to different enumeration type 'enum gpio_signal' [-Werror,-Wenum-conversion] : IOEX_USB_C1_HPD_IN_DB; ^~~~~~~~~~~~~~~~~~~~~ The only caller appears to be svdm_set_hpd_gpio() and svdm_get_hpd_gpio(), which correctly calls gpio_or_ioex_set_level() since the signal may be either gpio_signal or ioex_signal. Rename the board_usbc_port* function to indicate that it can return gpio or ioex. BRANCH=none BUG=b:172020503 TEST=make buildall TEST=CC=clang make BOARD=woomax TEST=CC=clang make BOARD=morphius Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I7be75c8a714ba103362b293413aadc6a92ab72c3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3243008 Reviewed-by: Eric Yilun Lin <yllin@google.com>
-rw-r--r--board/morphius/board.c2
-rw-r--r--board/morphius/board.h11
-rw-r--r--board/woomax/board.c2
-rw-r--r--board/woomax/board.h12
4 files changed, 19 insertions, 8 deletions
diff --git a/board/morphius/board.c b/board/morphius/board.c
index 35988b6723..4680109e18 100644
--- a/board/morphius/board.c
+++ b/board/morphius/board.c
@@ -383,7 +383,7 @@ static void setup_v0_charger(void)
*/
DECLARE_HOOK(HOOK_INIT, setup_v0_charger, HOOK_PRIO_INIT_I2C);
-enum gpio_signal board_usbc_port_to_hpd_gpio(int port)
+int board_usbc_port_to_hpd_gpio_or_ioex(int port)
{
/* USB-C0 always uses USB_C0_HPD (= DP3_HPD). */
if (port == 0)
diff --git a/board/morphius/board.h b/board/morphius/board.h
index 603bcec69b..a38fd93fc1 100644
--- a/board/morphius/board.h
+++ b/board/morphius/board.h
@@ -209,8 +209,15 @@ static inline bool ec_config_has_mst_hub_rtd2141b(void)
}
void motion_interrupt(enum gpio_signal signal);
-enum gpio_signal board_usbc_port_to_hpd_gpio(int port);
-#define PORT_TO_HPD(port) board_usbc_port_to_hpd_gpio(port)
+
+/**
+ * @warning Callers must use gpio_or_ioex_set_level to handle the return result
+ * since either type of signal can be returned.
+ *
+ * @return GPIO (gpio_signal) or IOEX (ioex_signal)
+ */
+int board_usbc_port_to_hpd_gpio_or_ioex(int port);
+#define PORT_TO_HPD(port) board_usbc_port_to_hpd_gpio_or_ioex(port)
extern const struct usb_mux usbc0_pi3dpx1207_usb_retimer;
extern const struct usb_mux usbc1_ps8802;
diff --git a/board/woomax/board.c b/board/woomax/board.c
index 106f21db59..f10bb227da 100644
--- a/board/woomax/board.c
+++ b/board/woomax/board.c
@@ -835,7 +835,7 @@ void hdmi_hpd_interrupt(enum gpio_signal signal)
hook_call_deferred(&hdmi_hpd_handler_data, (2 * MSEC));
}
-enum gpio_signal board_usbc_port_to_hpd_gpio(int port)
+int board_usbc_port_to_hpd_gpio_or_ioex(int port)
{
/* USB-C0 always uses USB_C0_HPD */
if (port == 0)
diff --git a/board/woomax/board.h b/board/woomax/board.h
index d81c82f181..f5289f2bd1 100644
--- a/board/woomax/board.h
+++ b/board/woomax/board.h
@@ -194,15 +194,19 @@ static inline bool ec_config_has_mst_hub_rtd2141b(void)
HAS_MST_HUB_RTD2141B);
}
-/*
+/**
+ * @warning Callers must use gpio_or_ioex_set_level to handle the return result
+ * since either type of signal can be returned.
+ *
* USB-C0 always uses USB_C0_HPD (= DP3_HPD).
* USB-C1 OPT1 DB uses DP2_HPD.
* USB-C1 OPT3 DB uses DP1_HPD via RTD2141B MST hub to drive AP
* HPD, EC drives MST hub HPD input from USB-PD messages.
+ *
+ * @return GPIO (gpio_signal) or IOEX (ioex_signal)
*/
-
-enum gpio_signal board_usbc_port_to_hpd_gpio(int port);
-#define PORT_TO_HPD(port) board_usbc_port_to_hpd_gpio(port)
+int board_usbc_port_to_hpd_gpio_or_ioex(int port);
+#define PORT_TO_HPD(port) board_usbc_port_to_hpd_gpio_or_ioex(port)
extern const struct usb_mux usbc0_pi3dpx1207_usb_retimer;
extern const struct usb_mux usbc1_ps8802;