media: cec.h: add cec_msg_recv_is_rx/tx_result helpers
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Wed, 9 Mar 2022 10:55:43 +0000 (10:55 +0000)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Sun, 24 Apr 2022 06:40:13 +0000 (07:40 +0100)
These two helper functions return true if the received message
contains the result of a previous non-blocking transmit. Either
the tx_status result (cec_msg_recv_is_tx_result) of the transmit,
or the rx_status result (cec_msg_recv_is_rx_result) of the reply
to the original transmit.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
include/uapi/linux/cec.h

index de936f5e446d804315824675e7fabb880b740760..1d48da92621637f1cb86bdf1779d2d535ae6194f 100644 (file)
@@ -142,6 +142,26 @@ static inline void cec_msg_set_reply_to(struct cec_msg *msg,
        msg->reply = msg->timeout = 0;
 }
 
+/**
+ * cec_msg_recv_is_tx_result - return true if this message contains the
+ *                            result of an earlier non-blocking transmit
+ * @msg:       the message structure from CEC_RECEIVE
+ */
+static inline int cec_msg_recv_is_tx_result(const struct cec_msg *msg)
+{
+       return msg->sequence && msg->tx_status && !msg->rx_status;
+}
+
+/**
+ * cec_msg_recv_is_rx_result - return true if this message contains the
+ *                            reply of an earlier non-blocking transmit
+ * @msg:       the message structure from CEC_RECEIVE
+ */
+static inline int cec_msg_recv_is_rx_result(const struct cec_msg *msg)
+{
+       return msg->sequence && !msg->tx_status && msg->rx_status;
+}
+
 /* cec_msg flags field */
 #define CEC_MSG_FL_REPLY_TO_FOLLOWERS  (1 << 0)
 #define CEC_MSG_FL_RAW                 (1 << 1)