summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/mock/tcpc_mock.c3
-rw-r--r--common/usb_common.c4
-rw-r--r--driver/tcpm/tcpm.h7
-rw-r--r--include/usb_pd.h3
-rw-r--r--include/usb_pd_tcpm.h4
5 files changed, 14 insertions, 7 deletions
diff --git a/common/mock/tcpc_mock.c b/common/mock/tcpc_mock.c
index 27b79af989..6dd5da7248 100644
--- a/common/mock/tcpc_mock.c
+++ b/common/mock/tcpc_mock.c
@@ -166,8 +166,9 @@ __maybe_unused static int mock_enter_low_power_mode(int port)
return EC_SUCCESS;
}
-void mock_set_frs_enable(int port, int enable)
+int mock_set_frs_enable(int port, int enable)
{
+ return EC_SUCCESS;
}
const struct tcpm_drv mock_tcpc_driver = {
diff --git a/common/usb_common.c b/common/usb_common.c
index 7b7f392e32..9cf12ff6d2 100644
--- a/common/usb_common.c
+++ b/common/usb_common.c
@@ -738,10 +738,10 @@ int pd_is_vbus_present(int port)
}
#ifdef CONFIG_USB_PD_FRS
-void pd_set_frs_enable(int port, int enable)
+int pd_set_frs_enable(int port, int enable)
{
ppc_set_frs_enable(port, enable);
- tcpm_set_frs_enable(port, enable);
+ return tcpm_set_frs_enable(port, enable);
}
#endif /* defined(CONFIG_USB_PD_FRS) */
diff --git a/driver/tcpm/tcpm.h b/driver/tcpm/tcpm.h
index 98861a78f1..7147bdada1 100644
--- a/driver/tcpm/tcpm.h
+++ b/driver/tcpm/tcpm.h
@@ -456,10 +456,12 @@ void tcpm_clear_pending_messages(int port);
*
* @param port Type-C port number
* @param enable FRS enable (true) disable (false)
+ * @return EC_SUCCESS on success, or an error
*/
-static inline void tcpm_set_frs_enable(int port, int enable)
+static inline int tcpm_set_frs_enable(int port, int enable)
{
const struct tcpm_drv *tcpc;
+ int rv = EC_SUCCESS;
/*
* set_frs_enable will be set to tcpci_tcp_fast_role_swap_enable
@@ -467,7 +469,8 @@ static inline void tcpm_set_frs_enable(int port, int enable)
*/
tcpc = tcpc_config[port].drv;
if (tcpc->set_frs_enable)
- tcpc->set_frs_enable(port, enable);
+ rv = tcpc->set_frs_enable(port, enable);
+ return rv;
}
#ifdef CONFIG_CMD_TCPC_DUMP
diff --git a/include/usb_pd.h b/include/usb_pd.h
index a7720e9264..cd1ac4eacf 100644
--- a/include/usb_pd.h
+++ b/include/usb_pd.h
@@ -2676,8 +2676,9 @@ int pd_is_vbus_present(int port);
*
* @param port USB-C port number
* @param enable 1 to enable the FRS trigger, 0 to disable
+ * @return EC_SUCCESS on success, or an error
*/
-void pd_set_frs_enable(int port, int enable);
+int pd_set_frs_enable(int port, int enable);
/**
* Get current DisplayPort pin mode on the specified port.
diff --git a/include/usb_pd_tcpm.h b/include/usb_pd_tcpm.h
index 0441af6299..ba7b0ef8aa 100644
--- a/include/usb_pd_tcpm.h
+++ b/include/usb_pd_tcpm.h
@@ -392,8 +392,10 @@ struct tcpm_drv {
*
* @param port Type-C port number
* @param enable FRS enable (true) disable (false)
+ *
+ * @return EC_SUCCESS or error
*/
- void (*set_frs_enable)(int port, int enable);
+ int (*set_frs_enable)(int port, int enable);
/**
* Handle TCPCI Faults