aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil-cisco@xs4all.nl>2019-10-02 09:10:14 +0200
committerHans Verkuil <hverkuil-cisco@xs4all.nl>2019-10-02 09:10:14 +0200
commit1c7937cb4aa6ef5a267182b3305d7977d09c6a19 (patch)
treea4e63709b09625fc8474720ff44b6ec1effadd91
parent3f806630e2ecbcebe31872b865c5c4b42f111a99 (diff)
v4l-utils: sync with latest media_tree master
Sync the kernel headers to the latest media_tree master. This required some work in the cec utilities since the remote control UI commands are now autogenerated from the cec.h header instead of being hardcoded in the cec utilities. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
-rw-r--r--include/linux/bpf.h56
-rw-r--r--include/linux/cec.h133
-rw-r--r--include/linux/media-bus-format.h3
-rw-r--r--utils/cec-ctl/cec-ctl.1.in3
-rw-r--r--utils/cec-ctl/cec-ctl.cpp107
-rwxr-xr-xutils/cec-ctl/msg2ctl.pl6
-rw-r--r--utils/common/cec-log.cpp97
-rw-r--r--utils/keytable/rc_maps.cfg7
8 files changed, 193 insertions, 219 deletions
diff --git a/include/linux/bpf.h b/include/linux/bpf.h
index e75f97cf..f7a75530 100644
--- a/include/linux/bpf.h
+++ b/include/linux/bpf.h
@@ -106,6 +106,7 @@ enum bpf_cmd {
BPF_TASK_FD_QUERY,
BPF_MAP_LOOKUP_AND_DELETE_ELEM,
BPF_MAP_FREEZE,
+ BPF_BTF_GET_NEXT_ID,
};
enum bpf_map_type {
@@ -134,6 +135,7 @@ enum bpf_map_type {
BPF_MAP_TYPE_QUEUE,
BPF_MAP_TYPE_STACK,
BPF_MAP_TYPE_SK_STORAGE,
+ BPF_MAP_TYPE_DEVMAP_HASH,
};
/* Note that tracing related programs such as
@@ -283,6 +285,9 @@ enum bpf_attach_type {
*/
#define BPF_F_TEST_RND_HI32 (1U << 2)
+/* The verifier internal test flag. Behavior is undefined */
+#define BPF_F_TEST_STATE_FREQ (1U << 3)
+
/* When BPF ldimm64's insn[0].src_reg != 0 then this can have
* two extensions:
*
@@ -336,6 +341,9 @@ enum bpf_attach_type {
#define BPF_F_RDONLY_PROG (1U << 7)
#define BPF_F_WRONLY_PROG (1U << 8)
+/* Clone map from listener for newly accepted socket */
+#define BPF_F_CLONE (1U << 9)
+
/* flags for BPF_PROG_QUERY */
#define BPF_F_QUERY_EFFECTIVE (1U << 0)
@@ -575,6 +583,8 @@ union bpf_attr {
* limited to five).
*
* Each time the helper is called, it appends a line to the trace.
+ * Lines are discarded while *\/sys/kernel/debug/tracing/trace* is
+ * open, use *\/sys/kernel/debug/tracing/trace_pipe* to avoid this.
* The format of the trace is customizable, and the exact output
* one will get depends on the options set in
* *\/sys/kernel/debug/tracing/trace_options* (see also the
@@ -1013,7 +1023,7 @@ union bpf_attr {
* The realm of the route for the packet associated to *skb*, or 0
* if none was found.
*
- * int bpf_perf_event_output(struct pt_reg *ctx, struct bpf_map *map, u64 flags, void *data, u64 size)
+ * int bpf_perf_event_output(struct pt_regs *ctx, struct bpf_map *map, u64 flags, void *data, u64 size)
* Description
* Write raw *data* blob into a special BPF perf event held by
* *map* of type **BPF_MAP_TYPE_PERF_EVENT_ARRAY**. This perf
@@ -1075,7 +1085,7 @@ union bpf_attr {
* Return
* 0 on success, or a negative error in case of failure.
*
- * int bpf_get_stackid(struct pt_reg *ctx, struct bpf_map *map, u64 flags)
+ * int bpf_get_stackid(struct pt_regs *ctx, struct bpf_map *map, u64 flags)
* Description
* Walk a user or a kernel stack and return its id. To achieve
* this, the helper needs *ctx*, which is a pointer to the context
@@ -1466,8 +1476,8 @@ union bpf_attr {
* If no cookie has been set yet, generate a new cookie. Once
* generated, the socket cookie remains stable for the life of the
* socket. This helper can be useful for monitoring per socket
- * networking traffic statistics as it provides a unique socket
- * identifier per namespace.
+ * networking traffic statistics as it provides a global socket
+ * identifier that can be assumed unique.
* Return
* A 8-byte long non-decreasing number on success, or 0 if the
* socket field is missing inside *skb*.
@@ -1724,7 +1734,7 @@ union bpf_attr {
* Return
* 0 on success, or a negative error in case of failure.
*
- * int bpf_override_return(struct pt_reg *regs, u64 rc)
+ * int bpf_override_return(struct pt_regs *regs, u64 rc)
* Description
* Used for error injection, this helper uses kprobes to override
* the return value of the probed function, and to set it to *rc*.
@@ -2713,6 +2723,33 @@ union bpf_attr {
* **-EPERM** if no permission to send the *sig*.
*
* **-EAGAIN** if bpf program can try again.
+ *
+ * s64 bpf_tcp_gen_syncookie(struct bpf_sock *sk, void *iph, u32 iph_len, struct tcphdr *th, u32 th_len)
+ * Description
+ * Try to issue a SYN cookie for the packet with corresponding
+ * IP/TCP headers, *iph* and *th*, on the listening socket in *sk*.
+ *
+ * *iph* points to the start of the IPv4 or IPv6 header, while
+ * *iph_len* contains **sizeof**\ (**struct iphdr**) or
+ * **sizeof**\ (**struct ip6hdr**).
+ *
+ * *th* points to the start of the TCP header, while *th_len*
+ * contains the length of the TCP header.
+ *
+ * Return
+ * On success, lower 32 bits hold the generated SYN cookie in
+ * followed by 16 bits which hold the MSS value for that cookie,
+ * and the top 16 bits are unused.
+ *
+ * On failure, the returned value is one of the following:
+ *
+ * **-EINVAL** SYN cookie cannot be issued due to error
+ *
+ * **-ENOENT** SYN cookie should not be issued (no SYN flood)
+ *
+ * **-EOPNOTSUPP** kernel configuration does not enable SYN cookies
+ *
+ * **-EPROTONOSUPPORT** IP packet version is not 4 or 6
*/
#define __BPF_FUNC_MAPPER(FN) \
FN(unspec), \
@@ -2824,7 +2861,8 @@ union bpf_attr {
FN(strtoul), \
FN(sk_storage_get), \
FN(sk_storage_delete), \
- FN(send_signal),
+ FN(send_signal), \
+ FN(tcp_gen_syncookie),
/* integer value in 'imm' field of BPF_CALL instruction selects which helper
* function eBPF program intends to call
@@ -3507,6 +3545,10 @@ enum bpf_task_fd_type {
BPF_FD_TYPE_URETPROBE, /* filename + offset */
};
+#define BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG (1U << 0)
+#define BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL (1U << 1)
+#define BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP (1U << 2)
+
struct bpf_flow_keys {
__u16 nhoff;
__u16 thoff;
@@ -3528,6 +3570,8 @@ struct bpf_flow_keys {
__u32 ipv6_dst[4]; /* in6_addr; network order */
};
};
+ __u32 flags;
+ __be32 flow_label;
};
struct bpf_func_info {
diff --git a/include/linux/cec.h b/include/linux/cec.h
index c747e375..16d96133 100644
--- a/include/linux/cec.h
+++ b/include/linux/cec.h
@@ -317,6 +317,8 @@ static __inline__ int cec_is_unconfigured(__u16 log_addr_mask)
#define CEC_CAP_NEEDS_HPD (1 << 6)
/* Hardware can monitor CEC pin transitions */
#define CEC_CAP_MONITOR_PIN (1 << 7)
+/* CEC_ADAP_G_CONNECTOR_INFO is available */
+#define CEC_CAP_CONNECTOR_INFO (1 << 8)
/**
* struct cec_caps - CEC capabilities structure.
@@ -375,6 +377,34 @@ struct cec_log_addrs {
/* CDC-Only device: supports only CDC messages */
#define CEC_LOG_ADDRS_FL_CDC_ONLY (1 << 2)
+/**
+ * struct cec_drm_connector_info - tells which drm connector is
+ * associated with the CEC adapter.
+ * @card_no: drm card number
+ * @connector_id: drm connector ID
+ */
+struct cec_drm_connector_info {
+ __u32 card_no;
+ __u32 connector_id;
+};
+
+#define CEC_CONNECTOR_TYPE_NO_CONNECTOR 0
+#define CEC_CONNECTOR_TYPE_DRM 1
+
+/**
+ * struct cec_connector_info - tells if and which connector is
+ * associated with the CEC adapter.
+ * @type: connector type (if any)
+ * @drm: drm connector info
+ */
+struct cec_connector_info {
+ __u32 type;
+ union {
+ struct cec_drm_connector_info drm;
+ __u32 raw[16];
+ };
+};
+
/* Events */
/* Event that occurs when the adapter state changes */
@@ -398,10 +428,17 @@ struct cec_log_addrs {
* struct cec_event_state_change - used when the CEC adapter changes state.
* @phys_addr: the current physical address
* @log_addr_mask: the current logical address mask
+ * @have_conn_info: if non-zero, then HDMI connector information is available.
+ * This field is only valid if CEC_CAP_CONNECTOR_INFO is set. If that
+ * capability is set and @have_conn_info is zero, then that indicates
+ * that the HDMI connector device is not instantiated, either because
+ * the HDMI driver is still configuring the device or because the HDMI
+ * device was unbound.
*/
struct cec_event_state_change {
__u16 phys_addr;
__u16 log_addr_mask;
+ __u16 have_conn_info;
};
/**
@@ -476,6 +513,9 @@ struct cec_event {
#define CEC_G_MODE _IOR('a', 8, __u32)
#define CEC_S_MODE _IOW('a', 9, __u32)
+/* Get the connector info */
+#define CEC_ADAP_G_CONNECTOR_INFO _IOR('a', 10, struct cec_connector_info)
+
/*
* The remainder of this header defines all CEC messages and operands.
* The format matters since it the cec-ctl utility parses it to generate
@@ -768,8 +808,8 @@ struct cec_event {
#define CEC_MSG_SELECT_DIGITAL_SERVICE 0x93
#define CEC_MSG_TUNER_DEVICE_STATUS 0x07
/* Recording Flag Operand (rec_flag) */
-#define CEC_OP_REC_FLAG_USED 0
-#define CEC_OP_REC_FLAG_NOT_USED 1
+#define CEC_OP_REC_FLAG_NOT_USED 0
+#define CEC_OP_REC_FLAG_USED 1
/* Tuner Display Info Operand (tuner_display_info) */
#define CEC_OP_TUNER_DISPLAY_INFO_DIGITAL 0
#define CEC_OP_TUNER_DISPLAY_INFO_NONE 1
@@ -820,6 +860,95 @@ struct cec_event {
#define CEC_OP_MENU_STATE_DEACTIVATED 0x01
#define CEC_MSG_USER_CONTROL_PRESSED 0x44
+/* UI Command Operand (ui_cmd) */
+#define CEC_OP_UI_CMD_SELECT 0x00
+#define CEC_OP_UI_CMD_UP 0x01
+#define CEC_OP_UI_CMD_DOWN 0x02
+#define CEC_OP_UI_CMD_LEFT 0x03
+#define CEC_OP_UI_CMD_RIGHT 0x04
+#define CEC_OP_UI_CMD_RIGHT_UP 0x05
+#define CEC_OP_UI_CMD_RIGHT_DOWN 0x06
+#define CEC_OP_UI_CMD_LEFT_UP 0x07
+#define CEC_OP_UI_CMD_LEFT_DOWN 0x08
+#define CEC_OP_UI_CMD_DEVICE_ROOT_MENU 0x09
+#define CEC_OP_UI_CMD_DEVICE_SETUP_MENU 0x0a
+#define CEC_OP_UI_CMD_CONTENTS_MENU 0x0b
+#define CEC_OP_UI_CMD_FAVORITE_MENU 0x0c
+#define CEC_OP_UI_CMD_BACK 0x0d
+#define CEC_OP_UI_CMD_MEDIA_TOP_MENU 0x10
+#define CEC_OP_UI_CMD_MEDIA_CONTEXT_SENSITIVE_MENU 0x11
+#define CEC_OP_UI_CMD_NUMBER_ENTRY_MODE 0x1d
+#define CEC_OP_UI_CMD_NUMBER_11 0x1e
+#define CEC_OP_UI_CMD_NUMBER_12 0x1f
+#define CEC_OP_UI_CMD_NUMBER_0_OR_NUMBER_10 0x20
+#define CEC_OP_UI_CMD_NUMBER_1 0x21
+#define CEC_OP_UI_CMD_NUMBER_2 0x22
+#define CEC_OP_UI_CMD_NUMBER_3 0x23
+#define CEC_OP_UI_CMD_NUMBER_4 0x24
+#define CEC_OP_UI_CMD_NUMBER_5 0x25
+#define CEC_OP_UI_CMD_NUMBER_6 0x26
+#define CEC_OP_UI_CMD_NUMBER_7 0x27
+#define CEC_OP_UI_CMD_NUMBER_8 0x28
+#define CEC_OP_UI_CMD_NUMBER_9 0x29
+#define CEC_OP_UI_CMD_DOT 0x2a
+#define CEC_OP_UI_CMD_ENTER 0x2b
+#define CEC_OP_UI_CMD_CLEAR 0x2c
+#define CEC_OP_UI_CMD_NEXT_FAVORITE 0x2f
+#define CEC_OP_UI_CMD_CHANNEL_UP 0x30
+#define CEC_OP_UI_CMD_CHANNEL_DOWN 0x31
+#define CEC_OP_UI_CMD_PREVIOUS_CHANNEL 0x32
+#define CEC_OP_UI_CMD_SOUND_SELECT 0x33
+#define CEC_OP_UI_CMD_INPUT_SELECT 0x34
+#define CEC_OP_UI_CMD_DISPLAY_INFORMATION 0x35
+#define CEC_OP_UI_CMD_HELP 0x36
+#define CEC_OP_UI_CMD_PAGE_UP 0x37
+#define CEC_OP_UI_CMD_PAGE_DOWN 0x38
+#define CEC_OP_UI_CMD_POWER 0x40
+#define CEC_OP_UI_CMD_VOLUME_UP 0x41
+#define CEC_OP_UI_CMD_VOLUME_DOWN 0x42
+#define CEC_OP_UI_CMD_MUTE 0x43
+#define CEC_OP_UI_CMD_PLAY 0x44
+#define CEC_OP_UI_CMD_STOP 0x45
+#define CEC_OP_UI_CMD_PAUSE 0x46
+#define CEC_OP_UI_CMD_RECORD 0x47
+#define CEC_OP_UI_CMD_REWIND 0x48
+#define CEC_OP_UI_CMD_FAST_FORWARD 0x49
+#define CEC_OP_UI_CMD_EJECT 0x4a
+#define CEC_OP_UI_CMD_SKIP_FORWARD 0x4b
+#define CEC_OP_UI_CMD_SKIP_BACKWARD 0x4c
+#define CEC_OP_UI_CMD_STOP_RECORD 0x4d
+#define CEC_OP_UI_CMD_PAUSE_RECORD 0x4e
+#define CEC_OP_UI_CMD_ANGLE 0x50
+#define CEC_OP_UI_CMD_SUB_PICTURE 0x51
+#define CEC_OP_UI_CMD_VIDEO_ON_DEMAND 0x52
+#define CEC_OP_UI_CMD_ELECTRONIC_PROGRAM_GUIDE 0x53
+#define CEC_OP_UI_CMD_TIMER_PROGRAMMING 0x54
+#define CEC_OP_UI_CMD_INITIAL_CONFIGURATION 0x55
+#define CEC_OP_UI_CMD_SELECT_BROADCAST_TYPE 0x56
+#define CEC_OP_UI_CMD_SELECT_SOUND_PRESENTATION 0x57
+#define CEC_OP_UI_CMD_AUDIO_DESCRIPTION 0x58
+#define CEC_OP_UI_CMD_INTERNET 0x59
+#define CEC_OP_UI_CMD_3D_MODE 0x5a
+#define CEC_OP_UI_CMD_PLAY_FUNCTION 0x60
+#define CEC_OP_UI_CMD_PAUSE_PLAY_FUNCTION 0x61
+#define CEC_OP_UI_CMD_RECORD_FUNCTION 0x62
+#define CEC_OP_UI_CMD_PAUSE_RECORD_FUNCTION 0x63
+#define CEC_OP_UI_CMD_STOP_FUNCTION 0x64
+#define CEC_OP_UI_CMD_MUTE_FUNCTION 0x65
+#define CEC_OP_UI_CMD_RESTORE_VOLUME_FUNCTION 0x66
+#define CEC_OP_UI_CMD_TUNE_FUNCTION 0x67
+#define CEC_OP_UI_CMD_SELECT_MEDIA_FUNCTION 0x68
+#define CEC_OP_UI_CMD_SELECT_AV_INPUT_FUNCTION 0x69
+#define CEC_OP_UI_CMD_SELECT_AUDIO_INPUT_FUNCTION 0x6a
+#define CEC_OP_UI_CMD_POWER_TOGGLE_FUNCTION 0x6b
+#define CEC_OP_UI_CMD_POWER_OFF_FUNCTION 0x6c
+#define CEC_OP_UI_CMD_POWER_ON_FUNCTION 0x6d
+#define CEC_OP_UI_CMD_F1_BLUE 0x71
+#define CEC_OP_UI_CMD_F2_RED 0x72
+#define CEC_OP_UI_CMD_F3_GREEN 0x73
+#define CEC_OP_UI_CMD_F4_YELLOW 0x74
+#define CEC_OP_UI_CMD_F5 0x75
+#define CEC_OP_UI_CMD_DATA 0x76
/* UI Broadcast Type Operand (ui_bcast_type) */
#define CEC_OP_UI_BCAST_TYPE_TOGGLE_ALL 0x00
#define CEC_OP_UI_BCAST_TYPE_TOGGLE_DIG_ANA 0x01
diff --git a/include/linux/media-bus-format.h b/include/linux/media-bus-format.h
index 2a6b253c..16c1fa2d 100644
--- a/include/linux/media-bus-format.h
+++ b/include/linux/media-bus-format.h
@@ -34,7 +34,7 @@
#define MEDIA_BUS_FMT_FIXED 0x0001
-/* RGB - next is 0x101c */
+/* RGB - next is 0x101d */
#define MEDIA_BUS_FMT_RGB444_1X12 0x1016
#define MEDIA_BUS_FMT_RGB444_2X8_PADHI_BE 0x1001
#define MEDIA_BUS_FMT_RGB444_2X8_PADHI_LE 0x1002
@@ -55,6 +55,7 @@
#define MEDIA_BUS_FMT_RGB888_1X24 0x100a
#define MEDIA_BUS_FMT_RGB888_2X12_BE 0x100b
#define MEDIA_BUS_FMT_RGB888_2X12_LE 0x100c
+#define MEDIA_BUS_FMT_RGB888_3X8 0x101c
#define MEDIA_BUS_FMT_RGB888_1X7X4_SPWG 0x1011
#define MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA 0x1012
#define MEDIA_BUS_FMT_ARGB8888_1X32 0x100d
diff --git a/utils/cec-ctl/cec-ctl.1.in b/utils/cec-ctl/cec-ctl.1.in
index e44ae682..aacf0b9f 100644
--- a/utils/cec-ctl/cec-ctl.1.in
+++ b/utils/cec-ctl/cec-ctl.1.in
@@ -135,9 +135,6 @@ the reply.
\fB\-\-timeout\fR \fI<ms>\fR
Set the reply timeout in milliseconds (default is 1000 ms).
.TP
-\fB\-\-list\-ui\-commands\fR
-List all UI commands that can be used with option \fB\-\-control\-pressed\fR.
-.TP
\fB\-\-tv\fR
Configure the CEC adapter as a TV.
.TP
diff --git a/utils/cec-ctl/cec-ctl.cpp b/utils/cec-ctl/cec-ctl.cpp
index 74d07353..336a7bf5 100644
--- a/utils/cec-ctl/cec-ctl.cpp
+++ b/utils/cec-ctl/cec-ctl.cpp
@@ -82,101 +82,6 @@ static const struct arg arg_string = {
CEC_TYPE_STRING,
};
-static const struct cec_enum_values type_ui_cmd[] = {
- { "Select", 0x00 },
- { "Up", 0x01 },
- { "Down", 0x02 },
- { "Left", 0x03 },
- { "Right", 0x04 },
- { "Right-Up", 0x05 },
- { "Right-Down", 0x06 },
- { "Left-Up", 0x07 },
- { "Left-Down", 0x08 },
- { "Device Root Menu", 0x09 },
- { "Device Setup Menu", 0x0a },
- { "Contents Menu", 0x0b },
- { "Favorite Menu", 0x0c },
- { "Back", 0x0d },
- { "Media Top Menu", 0x10 },
- { "Media Context-sensitive Menu", 0x11 },
- { "Number Entry Mode", 0x1d },
- { "Number 11", 0x1e },
- { "Number 12", 0x1f },
- { "Number 0 or Number 10", 0x20 },
- { "Number 1", 0x21 },
- { "Number 2", 0x22 },
- { "Number 3", 0x23 },
- { "Number 4", 0x24 },
- { "Number 5", 0x25 },
- { "Number 6", 0x26 },
- { "Number 7", 0x27 },
- { "Number 8", 0x28 },
- { "Number 9", 0x29 },
- { "Dot", 0x2a },
- { "Enter", 0x2b },
- { "Clear", 0x2c },
- { "Next Favorite", 0x2f },
- { "Channel Up", 0x30 },
- { "Channel Down", 0x31 },
- { "Previous Channel", 0x32 },
- { "Sound Select", 0x33 },
- { "Input Select", 0x34 },
- { "Display Information", 0x35 },
- { "Help", 0x36 },
- { "Page Up", 0x37 },
- { "Page Down", 0x38 },
- { "Power", 0x40 },
- { "Volume Up", 0x41 },
- { "Volume Down", 0x42 },
- { "Mute", 0x43 },
- { "Play", 0x44 },
- { "Stop", 0x45 },
- { "Pause", 0x46 },
- { "Record", 0x47 },
- { "Rewind", 0x48 },
- { "Fast forward", 0x49 },
- { "Eject", 0x4a },
- { "Skip Forward", 0x4b },
- { "Skip Backward", 0x4c },
- { "Stop-Record", 0x4d },
- { "Pause-Record", 0x4e },
- { "Angle", 0x50 },
- { "Sub picture", 0x51 },
- { "Video on Demand", 0x52 },
- { "Electronic Program Guide", 0x53 },
- { "Timer Programming", 0x54 },
- { "Initial Configuration", 0x55 },
- { "Select Broadcast Type", 0x56 },
- { "Select Sound Presentation", 0x57 },
- { "Audio Description", 0x58 },
- { "Internet", 0x59 },
- { "3D Mode", 0x5a },
- { "Play Function", 0x60 },
- { "Pause-Play Function", 0x61 },
- { "Record Function", 0x62 },
- { "Pause-Record Function", 0x63 },
- { "Stop Function", 0x64 },
- { "Mute Function", 0x65 },
- { "Restore Volume Function", 0x66 },
- { "Tune Function", 0x67 },
- { "Select Media Function", 0x68 },
- { "Select A/V Input Function", 0x69 },
- { "Select Audio Input Function", 0x6a },
- { "Power Toggle Function", 0x6b },
- { "Power Off Function", 0x6c },
- { "Power On Function", 0x6d },
- { "F1 (Blue)", 0x71 },
- { "F2 (Red)", 0x72 },
- { "F3 (Green)", 0x73 },
- { "F4 (Yellow)", 0x74 },
- { "F5", 0x75 },
- { "Data", 0x76 },
-};
-
-static const struct arg arg_rc_ui_cmd = {
- CEC_TYPE_ENUM, sizeof(type_ui_cmd) / sizeof(type_ui_cmd[0]), type_ui_cmd
-};
-
struct message {
__u8 msg;
unsigned option;
@@ -530,7 +435,7 @@ static void log_features(const struct arg *arg,
static void log_ui_command(const char *arg_name,
const struct cec_op_ui_command *ui_cmd)
{
- log_arg(&arg_rc_ui_cmd, arg_name, ui_cmd->ui_cmd);
+ log_arg(&arg_ui_cmd, arg_name, ui_cmd->ui_cmd);
if (!ui_cmd->has_opt_arg)
return;
switch (ui_cmd->ui_cmd) {
@@ -629,7 +534,6 @@ enum Option {
OptIgnore,
OptStorePin,
OptAnalyzePin,
- OptListUICommands,
OptRcTVProfile1,
OptRcTVProfile2,
OptRcTVProfile3,
@@ -715,7 +619,6 @@ static struct option long_options[] = {
{ "show-topology", no_argument, 0, OptShowTopology },
{ "list-devices", no_argument, 0, OptListDevices },
{ "poll", no_argument, 0, OptPoll },
- { "list-ui-commands", no_argument, 0, OptListUICommands },
{ "rc-tv-profile-1", no_argument, 0, OptRcTVProfile1 },
{ "rc-tv-profile-2", no_argument, 0, OptRcTVProfile2 },
{ "rc-tv-profile-3", no_argument, 0, OptRcTVProfile3 },
@@ -789,7 +692,6 @@ static void usage(void)
" --reply-to-followers The reply will be sent to followers as well\n"
" --raw-msg Transmit the message without validating it (must be root)\n"
" --timeout <ms> Set the reply timeout in milliseconds (default is 1000 ms)\n"
- " --list-ui-commands List all UI commands that can be used with --user-control-pressed\n"
" --list-devices List all cec devices\n"
"\n"
" --tv This is a TV\n"
@@ -2324,13 +2226,6 @@ int main(int argc, char **argv)
case OptVendorID:
vendor_id = strtoul(optarg, NULL, 0) & 0x00ffffff;
break;
- case OptListUICommands:
- printf("'ui-cmd' can have these values:\n");
- for (unsigned i = 0; i < sizeof(type_ui_cmd) / sizeof(type_ui_cmd[0]); i++)
- printf("\t%s (%u)\n",
- type_ui_cmd[i].type_name, type_ui_cmd[i].value);
- printf("\n");
- break;
case OptRcTVProfile1:
rc_tv = CEC_OP_FEAT_RC_TV_PROFILE_1;
break;
diff --git a/utils/cec-ctl/msg2ctl.pl b/utils/cec-ctl/msg2ctl.pl
index 4b7ca233..d9ef3834 100755
--- a/utils/cec-ctl/msg2ctl.pl
+++ b/utils/cec-ctl/msg2ctl.pl
@@ -249,11 +249,7 @@ sub process_func
$arg_names .= ", ";
$arg_ptrs .= ", ";
}
- if ($name eq "ui_cmd") {
- $arg_ptrs .= "&arg_rc_$name";
- } else {
- $arg_ptrs .= "&arg_$name";
- }
+ $arg_ptrs .= "&arg_$name";
$name =~ s/_/-/g;
$arg_names .= '"' . $name . '"';
}
diff --git a/utils/common/cec-log.cpp b/utils/common/cec-log.cpp
index 9ac59431..ea59010b 100644
--- a/utils/common/cec-log.cpp
+++ b/utils/common/cec-log.cpp
@@ -54,101 +54,6 @@ static const struct arg arg_string = {
CEC_TYPE_STRING,
};
-static const struct cec_enum_values type_ui_cmd[] = {
- { "Select", 0x00 },
- { "Up", 0x01 },
- { "Down", 0x02 },
- { "Left", 0x03 },
- { "Right", 0x04 },
- { "Right-Up", 0x05 },
- { "Right-Down", 0x06 },
- { "Left-Up", 0x07 },
- { "Left-Down", 0x08 },
- { "Device Root Menu", 0x09 },
- { "Device Setup Menu", 0x0a },
- { "Contents Menu", 0x0b },
- { "Favorite Menu", 0x0c },
- { "Back", 0x0d },
- { "Media Top Menu", 0x10 },
- { "Media Context-sensitive Menu", 0x11 },
- { "Number Entry Mode", 0x1d },
- { "Number 11", 0x1e },
- { "Number 12", 0x1f },
- { "Number 0 or Number 10", 0x20 },
- { "Number 1", 0x21 },
- { "Number 2", 0x22 },
- { "Number 3", 0x23 },
- { "Number 4", 0x24 },
- { "Number 5", 0x25 },
- { "Number 6", 0x26 },
- { "Number 7", 0x27 },
- { "Number 8", 0x28 },
- { "Number 9", 0x29 },
- { "Dot", 0x2a },
- { "Enter", 0x2b },
- { "Clear", 0x2c },
- { "Next Favorite", 0x2f },
- { "Channel Up", 0x30 },
- { "Channel Down", 0x31 },
- { "Previous Channel", 0x32 },
- { "Sound Select", 0x33 },
- { "Input Select", 0x34 },
- { "Display Information", 0x35 },
- { "Help", 0x36 },
- { "Page Up", 0x37 },
- { "Page Down", 0x38 },
- { "Power", 0x40 },
- { "Volume Up", 0x41 },
- { "Volume Down", 0x42 },
- { "Mute", 0x43 },
- { "Play", 0x44 },
- { "Stop", 0x45 },
- { "Pause", 0x46 },
- { "Record", 0x47 },
- { "Rewind", 0x48 },
- { "Fast forward", 0x49 },
- { "Eject", 0x4a },
- { "Skip Forward", 0x4b },
- { "Skip Backward", 0x4c },
- { "Stop-Record", 0x4d },
- { "Pause-Record", 0x4e },
- { "Angle", 0x50 },
- { "Sub picture", 0x51 },
- { "Video on Demand", 0x52 },
- { "Electronic Program Guide", 0x53 },
- { "Timer Programming", 0x54 },
- { "Initial Configuration", 0x55 },
- { "Select Broadcast Type", 0x56 },
- { "Select Sound Presentation", 0x57 },
- { "Audio Description", 0x58 },
- { "Internet", 0x59 },
- { "3D Mode", 0x5a },
- { "Play Function", 0x60 },
- { "Pause-Play Function", 0x61 },
- { "Record Function", 0x62 },
- { "Pause-Record Function", 0x63 },
- { "Stop Function", 0x64 },
- { "Mute Function", 0x65 },
- { "Restore Volume Function", 0x66 },
- { "Tune Function", 0x67 },
- { "Select Media Function", 0x68 },
- { "Select A/V Input Function", 0x69 },
- { "Select Audio Input Function", 0x6a },
- { "Power Toggle Function", 0x6b },
- { "Power Off Function", 0x6c },
- { "Power On Function", 0x6d },
- { "F1 (Blue)", 0x71 },
- { "F2 (Red)", 0x72 },
- { "F3 (Green)", 0x73 },
- { "F4 (Yellow)", 0x74 },
- { "F5", 0x75 },
- { "Data", 0x76 },
-};
-
-static const struct arg arg_rc_ui_cmd = {
- CEC_TYPE_ENUM, sizeof(type_ui_cmd) / sizeof(type_ui_cmd[0]), type_ui_cmd
-};
-
struct message {
__u8 msg;
__u8 num_args;
@@ -302,7 +207,7 @@ static void log_features(const struct arg *arg,
static void log_ui_command(const char *arg_name,
const struct cec_op_ui_command *ui_cmd)
{
- log_arg(&arg_rc_ui_cmd, arg_name, ui_cmd->ui_cmd);
+ log_arg(&arg_ui_cmd, arg_name, ui_cmd->ui_cmd);
if (!ui_cmd->has_opt_arg)
return;
switch (ui_cmd->ui_cmd) {
diff --git a/utils/keytable/rc_maps.cfg b/utils/keytable/rc_maps.cfg
index fb0254a1..74921652 100644
--- a/utils/keytable/rc_maps.cfg
+++ b/utils/keytable/rc_maps.cfg
@@ -90,6 +90,7 @@
* rc-it913x-v1 it913x_v1.toml
* rc-it913x-v2 it913x_v2.toml
* rc-kaiomy kaiomy.toml
+* rc-khadas khadas.toml
* rc-kworld-315u kworld_315u.toml
* rc-kworld-pc150u kworld_pc150u.toml
* rc-kworld-plus-tv-analog kworld_plus_tv_analog.toml
@@ -107,6 +108,7 @@
* rc-nec-terratec-cinergy-xs nec_terratec_cinergy_xs.toml
* rc-norwood norwood.toml
* rc-npgtech npgtech.toml
+* rc-odroid odroid.toml
* rc-pctv-sedna pctv_sedna.toml
* rc-pinnacle-color pinnacle_color.toml
* rc-pinnacle-grey pinnacle_grey.toml
@@ -126,6 +128,8 @@
* rc-streamzap streamzap.toml
* rc-su3000 su3000.toml
* rc-tango tango.toml
+* rc-tanix-tx3mini tanix_tx3mini.toml
+* rc-tanix-tx5max tanix_tx5max.toml
* rc-tbs-nec tbs_nec.toml
* rc-technisat-ts35 technisat_ts35.toml
* rc-technisat-usb2 technisat_usb2.toml
@@ -145,8 +149,11 @@
* rc-videomate-k100 videomate_k100.toml
* rc-videomate-s350 videomate_s350.toml
* rc-videomate-tv-pvr videomate_tv_pvr.toml
+* rc-wetek-hub wetek_hub.toml
+* rc-wetek-play2 wetek_play2.toml
* rc-winfast-usbii-deluxe winfast_usbii_deluxe.toml
* rc-winfast winfast.toml
+* rc-x96max x96max.toml
* rc-xbox-dvd xbox_dvd.toml
* rc-zx-irdec zx_irdec.toml
# * * af9005.toml # found in af9005-remote.c

Privacy Policy