mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 13:16:41 +00:00
v4l-utils: replace streamzap fix with proposed upstream patch
See http://www.mail-archive.com/linux-media@vger.kernel.org/msg108483.html Signed-off-by: Matthias Reichl <hias@horus.com>
This commit is contained in:
parent
7948131c88
commit
65bd18949d
@ -0,0 +1,79 @@
|
|||||||
|
From 52a487063684299c20a27ba8b1028aeaaa08ddc6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Matthias Reichl <hias@horus.com>
|
||||||
|
Date: Sun, 12 Mar 2017 12:53:50 +0100
|
||||||
|
Subject: [PATCH] ir-keytable: be more permissive on protocol name
|
||||||
|
|
||||||
|
Allowed the protocol to be specified with or without underscores or
|
||||||
|
dashes. This also solves the problem of not being able to load
|
||||||
|
the streamzap keymap.
|
||||||
|
|
||||||
|
./ir-keytable -w rc_keymaps/streamzap
|
||||||
|
Protocol RC5_SZ invalid
|
||||||
|
|
||||||
|
Reported-by: Matthias Reichl <hias@horus.com>
|
||||||
|
Signed-off-by: Sean Young <sean@mess.org>
|
||||||
|
Signed-off-by: Matthias Reichl <hias@horus.com>
|
||||||
|
---
|
||||||
|
utils/keytable/keytable.c | 24 ++++++++++++++++++++----
|
||||||
|
1 file changed, 20 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/utils/keytable/keytable.c b/utils/keytable/keytable.c
|
||||||
|
index a6ecc9e..f61a1d5 100644
|
||||||
|
--- a/utils/keytable/keytable.c
|
||||||
|
+++ b/utils/keytable/keytable.c
|
||||||
|
@@ -120,9 +120,7 @@ const struct protocol_map_entry protocol_map[] = {
|
||||||
|
{ "other", NULL, SYSFS_OTHER },
|
||||||
|
{ "lirc", NULL, SYSFS_LIRC },
|
||||||
|
{ "rc-5", "/rc5_decoder", SYSFS_RC5 },
|
||||||
|
- { "rc5", NULL, SYSFS_RC5 },
|
||||||
|
{ "rc-5x", NULL, SYSFS_INVALID },
|
||||||
|
- { "rc5x", NULL, SYSFS_INVALID },
|
||||||
|
{ "rc-5-sz", NULL, SYSFS_RC5_SZ },
|
||||||
|
{ "jvc", "/jvc_decoder", SYSFS_JVC },
|
||||||
|
{ "sony", "/sony_decoder",SYSFS_SONY },
|
||||||
|
@@ -134,7 +132,6 @@ const struct protocol_map_entry protocol_map[] = {
|
||||||
|
{ "mce_kbd", NULL, SYSFS_MCE_KBD },
|
||||||
|
{ "mce-kbd", NULL, SYSFS_MCE_KBD },
|
||||||
|
{ "rc-6", "/rc6_decoder", SYSFS_RC6 },
|
||||||
|
- { "rc6", NULL, SYSFS_RC6 },
|
||||||
|
{ "rc-6-0", NULL, SYSFS_INVALID },
|
||||||
|
{ "rc-6-6a-20", NULL, SYSFS_INVALID },
|
||||||
|
{ "rc-6-6a-24", NULL, SYSFS_INVALID },
|
||||||
|
@@ -145,6 +142,25 @@ const struct protocol_map_entry protocol_map[] = {
|
||||||
|
{ NULL, NULL, SYSFS_INVALID },
|
||||||
|
};
|
||||||
|
|
||||||
|
+static bool str_like(const char *a, const char *b)
|
||||||
|
+{
|
||||||
|
+ while (*a && *b) {
|
||||||
|
+ if (*a == '-' || *a == '_') {
|
||||||
|
+ a++;
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
+ if (*b == '-' || *b == '_') {
|
||||||
|
+ b++;
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
+ if (tolower(*a) != tolower(*b))
|
||||||
|
+ return false;
|
||||||
|
+ a++; b++;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return !*a && !*b;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static enum sysfs_protocols parse_sysfs_protocol(const char *name, bool all_allowed)
|
||||||
|
{
|
||||||
|
const struct protocol_map_entry *pme;
|
||||||
|
@@ -156,7 +172,7 @@ static enum sysfs_protocols parse_sysfs_protocol(const char *name, bool all_allo
|
||||||
|
return ~0;
|
||||||
|
|
||||||
|
for (pme = protocol_map; pme->name; pme++) {
|
||||||
|
- if (!strcasecmp(name, pme->name))
|
||||||
|
+ if (str_like(name, pme->name))
|
||||||
|
return pme->sysfs_protocol;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.1.4
|
||||||
|
|
@ -1,10 +0,0 @@
|
|||||||
diff --git a/utils/keytable/rc_keymaps/streamzap b/utils/keytable/rc_keymaps/streamzap
|
|
||||||
index 3512cd8..1619459 100644
|
|
||||||
--- a/utils/keytable/rc_keymaps/streamzap
|
|
||||||
+++ b/utils/keytable/rc_keymaps/streamzap
|
|
||||||
@@ -1,4 +1,4 @@
|
|
||||||
-# table streamzap, type: RC5_SZ
|
|
||||||
+# table streamzap, type: rc-5-sz
|
|
||||||
0x28c0 KEY_NUMERIC_0
|
|
||||||
0x28c1 KEY_NUMERIC_1
|
|
||||||
0x28c2 KEY_NUMERIC_2
|
|
Loading…
x
Reference in New Issue
Block a user