linux/Documentation/media/uapi
Hans Verkuil f5580d8d6f [media] cec: accept two replies for CEC_MSG_INITIATE_ARC
The CEC_MSG_INITIATE_ARC message is special since it is the ONLY
CEC message that accepts two possible valid replies:

CEC_MSG_REPORT_ARC_INITIATED and CEC_MSG_REPORT_ARC_TERMINATED.

So if the transmitted message is CEC_MSG_INITIATE_ARC and the remote
side replied with CEC_MSG_REPORT_ARC_INITIATED or CEC_MSG_REPORT_ARC_TERMINATED,
then a msg->reply value of CEC_MSG_REPORT_ARC_INITIATED or
CEC_MSG_REPORT_ARC_TERMINATED will match either reply.

I thought about either adding a second reply2 field, but that's ugly
for all other messages that have only one reply, and what if in the
future a new message is added that can have three replies?

Another option would be to add a cec_msg flag, but really, the combination
of CEC_MSG_REPORT_ARC_INITIATED and a reply value of one of the two
possible replies already functions as a flag.

Another advantage of this approach is that it is safe to re-use a
cec_msg struct. No need to zero a flags field or a reply2 field.

So since this really is an exception in the CEC specification, I
decided to implement it as an exception as well.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-11-16 15:34:55 -02:00
..
cec [media] cec: accept two replies for CEC_MSG_INITIATE_ARC 2016-11-16 15:34:55 -02:00
dvb [media] docs-rst: simplify c:type: cross references 2016-09-09 09:54:54 -03:00
mediactl [media] media-ioc-g-topology.rst: fix a c domain reference 2016-09-09 09:58:06 -03:00
rc [media] docs-rst: fix two wrong :name: tags 2016-09-09 09:58:26 -03:00
v4l [media] control.rst: improve the queryctrl code examples 2016-11-16 15:27:11 -02:00
fdl-appendix.rst
gen-errors.rst [media] gen-errors.rst fix error table column limits 2016-08-22 10:31:14 -03:00