@@ -36,19 +36,6 @@
*/
#define UCSI_SWAP_TIMEOUT_MS 5000
-static int ucsi_read_message_in(struct ucsi *ucsi, void *buf,
- size_t buf_size)
-{
- /*
- * Below UCSI 2.0, MESSAGE_IN was limited to 16 bytes. Truncate the
- * reads here.
- */
- if (ucsi->version <= UCSI_VERSION_1_2)
- buf_size = clamp(buf_size, 0, 16);
-
- return ucsi->ops->read_message_in(ucsi, buf, buf_size);
-}
-
static int ucsi_acknowledge(struct ucsi *ucsi, bool conn_ack)
{
u64 ctrl;
@@ -70,6 +57,13 @@ static int ucsi_run_command(struct ucsi *ucsi, u64 command, u32 *cci,
*cci = 0;
+ /*
+ * Below UCSI 2.0, MESSAGE_IN was limited to 16 bytes. Truncate the
+ * reads here.
+ */
+ if (ucsi->version <= UCSI_VERSION_1_2)
+ size = clamp(size, 0, 16);
+
ret = ucsi->ops->sync_control(ucsi, command);
if (ret)
return ret;
@@ -98,7 +92,7 @@ static int ucsi_run_command(struct ucsi *ucsi, u64 command, u32 *cci,
}
if (data) {
- ret = ucsi_read_message_in(ucsi, data, size);
+ ret = ucsi->ops->read_message_in(ucsi, data, size);
if (ret)
return ret;
}