aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil-cisco@xs4all.nl>2019-04-23 08:44:59 -0400
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>2019-05-23 05:32:40 -0400
commitaa50accfda60468fd132573b8f83e158ff45cb3d (patch)
tree1a3196648aafd9063cfc430555b7aef583003ac5
parentmedia: cec: move check from cec_transmit to cec_transmit_msg_fh (diff)
downloadlinux-dev-aa50accfda60468fd132573b8f83e158ff45cb3d.tar.xz
linux-dev-aa50accfda60468fd132573b8f83e158ff45cb3d.zip
media: cec: add CEC_MSG_FL_RAW flag and msg_is_raw helper function
This adds the userspace API to send raw unchecked CEC messages. This will require root permissions. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
-rw-r--r--drivers/media/cec/cec-priv.h5
-rw-r--r--include/uapi/linux/cec.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/drivers/media/cec/cec-priv.h b/drivers/media/cec/cec-priv.h
index 804e38f849c7..7bdf855aaecd 100644
--- a/drivers/media/cec/cec-priv.h
+++ b/drivers/media/cec/cec-priv.h
@@ -20,6 +20,11 @@
/* devnode to cec_adapter */
#define to_cec_adapter(node) container_of(node, struct cec_adapter, devnode)
+static inline bool msg_is_raw(const struct cec_msg *msg)
+{
+ return msg->flags & CEC_MSG_FL_RAW;
+}
+
/* cec-core.c */
extern int cec_debug;
int cec_get_device(struct cec_devnode *devnode);
diff --git a/include/uapi/linux/cec.h b/include/uapi/linux/cec.h
index 3094af68b6e7..5704fa0292b5 100644
--- a/include/uapi/linux/cec.h
+++ b/include/uapi/linux/cec.h
@@ -144,6 +144,7 @@ static inline void cec_msg_set_reply_to(struct cec_msg *msg,
/* cec_msg flags field */
#define CEC_MSG_FL_REPLY_TO_FOLLOWERS (1 << 0)
+#define CEC_MSG_FL_RAW (1 << 1)
/* cec_msg tx/rx_status field */
#define CEC_TX_STATUS_OK (1 << 0)