mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
linux (Generic): rebase ir timeout patch
This commit is contained in:
parent
a0c9eda6cc
commit
114ca2fad2
@ -1,7 +1,7 @@
|
||||
From df4fa9f4fa87409253bdced78e2cc2b3bc76b253 Mon Sep 17 00:00:00 2001
|
||||
From f3ca010f8a1cced4049fb1b6cf522bac4e778d8c Mon Sep 17 00:00:00 2001
|
||||
From: Sean Young <sean@mess.org>
|
||||
Date: Fri, 23 Mar 2018 16:47:37 -0400
|
||||
Subject: [PATCH 01/14] media: rc: set timeout to smallest value required by
|
||||
Subject: [PATCH 01/13] media: rc: set timeout to smallest value required by
|
||||
enabled protocols
|
||||
|
||||
The longer the IR timeout, the longer the rc device waits until delivering
|
||||
@ -30,7 +30,7 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
|
||||
13 files changed, 47 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/drivers/media/rc/ir-imon-decoder.c b/drivers/media/rc/ir-imon-decoder.c
|
||||
index a1ff06a26542..52ea3b2fda74 100644
|
||||
index a1ff06a..52ea3b2 100644
|
||||
--- a/drivers/media/rc/ir-imon-decoder.c
|
||||
+++ b/drivers/media/rc/ir-imon-decoder.c
|
||||
@@ -170,6 +170,7 @@ static struct ir_raw_handler imon_handler = {
|
||||
@ -42,7 +42,7 @@ index a1ff06a26542..52ea3b2fda74 100644
|
||||
|
||||
static int __init ir_imon_decode_init(void)
|
||||
diff --git a/drivers/media/rc/ir-jvc-decoder.c b/drivers/media/rc/ir-jvc-decoder.c
|
||||
index 8cb68ae43282..5706cfe60027 100644
|
||||
index 8cb68ae..5706cfe 100644
|
||||
--- a/drivers/media/rc/ir-jvc-decoder.c
|
||||
+++ b/drivers/media/rc/ir-jvc-decoder.c
|
||||
@@ -213,6 +213,7 @@ static struct ir_raw_handler jvc_handler = {
|
||||
@ -54,10 +54,10 @@ index 8cb68ae43282..5706cfe60027 100644
|
||||
|
||||
static int __init ir_jvc_decode_init(void)
|
||||
diff --git a/drivers/media/rc/ir-mce_kbd-decoder.c b/drivers/media/rc/ir-mce_kbd-decoder.c
|
||||
index c110984ca671..05f2a36769c0 100644
|
||||
index 5478fe0..fa5ce51 100644
|
||||
--- a/drivers/media/rc/ir-mce_kbd-decoder.c
|
||||
+++ b/drivers/media/rc/ir-mce_kbd-decoder.c
|
||||
@@ -475,6 +475,7 @@ static struct ir_raw_handler mce_kbd_handler = {
|
||||
@@ -477,6 +477,7 @@ static struct ir_raw_handler mce_kbd_handler = {
|
||||
.raw_register = ir_mce_kbd_register,
|
||||
.raw_unregister = ir_mce_kbd_unregister,
|
||||
.carrier = 36000,
|
||||
@ -66,7 +66,7 @@ index c110984ca671..05f2a36769c0 100644
|
||||
|
||||
static int __init ir_mce_kbd_decode_init(void)
|
||||
diff --git a/drivers/media/rc/ir-nec-decoder.c b/drivers/media/rc/ir-nec-decoder.c
|
||||
index 21647b809e6f..6a8973ae3684 100644
|
||||
index 21647b8..6a8973a 100644
|
||||
--- a/drivers/media/rc/ir-nec-decoder.c
|
||||
+++ b/drivers/media/rc/ir-nec-decoder.c
|
||||
@@ -253,6 +253,7 @@ static struct ir_raw_handler nec_handler = {
|
||||
@ -78,7 +78,7 @@ index 21647b809e6f..6a8973ae3684 100644
|
||||
|
||||
static int __init ir_nec_decode_init(void)
|
||||
diff --git a/drivers/media/rc/ir-rc5-decoder.c b/drivers/media/rc/ir-rc5-decoder.c
|
||||
index 74d3b859c3a2..cbfaadbee8fa 100644
|
||||
index 74d3b85..cbfaadb 100644
|
||||
--- a/drivers/media/rc/ir-rc5-decoder.c
|
||||
+++ b/drivers/media/rc/ir-rc5-decoder.c
|
||||
@@ -274,6 +274,7 @@ static struct ir_raw_handler rc5_handler = {
|
||||
@ -90,7 +90,7 @@ index 74d3b859c3a2..cbfaadbee8fa 100644
|
||||
|
||||
static int __init ir_rc5_decode_init(void)
|
||||
diff --git a/drivers/media/rc/ir-rc6-decoder.c b/drivers/media/rc/ir-rc6-decoder.c
|
||||
index 8314da32453f..66e07109f6fc 100644
|
||||
index 8314da3..66e0710 100644
|
||||
--- a/drivers/media/rc/ir-rc6-decoder.c
|
||||
+++ b/drivers/media/rc/ir-rc6-decoder.c
|
||||
@@ -394,6 +394,7 @@ static struct ir_raw_handler rc6_handler = {
|
||||
@ -102,7 +102,7 @@ index 8314da32453f..66e07109f6fc 100644
|
||||
|
||||
static int __init ir_rc6_decode_init(void)
|
||||
diff --git a/drivers/media/rc/ir-sanyo-decoder.c b/drivers/media/rc/ir-sanyo-decoder.c
|
||||
index 4efe6db5376a..dd6ee1e339d6 100644
|
||||
index 4efe6db..dd6ee1e 100644
|
||||
--- a/drivers/media/rc/ir-sanyo-decoder.c
|
||||
+++ b/drivers/media/rc/ir-sanyo-decoder.c
|
||||
@@ -210,6 +210,7 @@ static struct ir_raw_handler sanyo_handler = {
|
||||
@ -114,7 +114,7 @@ index 4efe6db5376a..dd6ee1e339d6 100644
|
||||
|
||||
static int __init ir_sanyo_decode_init(void)
|
||||
diff --git a/drivers/media/rc/ir-sharp-decoder.c b/drivers/media/rc/ir-sharp-decoder.c
|
||||
index 6a38c50566a4..f96e0c992eed 100644
|
||||
index 6a38c50..f96e0c9 100644
|
||||
--- a/drivers/media/rc/ir-sharp-decoder.c
|
||||
+++ b/drivers/media/rc/ir-sharp-decoder.c
|
||||
@@ -226,6 +226,7 @@ static struct ir_raw_handler sharp_handler = {
|
||||
@ -126,7 +126,7 @@ index 6a38c50566a4..f96e0c992eed 100644
|
||||
|
||||
static int __init ir_sharp_decode_init(void)
|
||||
diff --git a/drivers/media/rc/ir-sony-decoder.c b/drivers/media/rc/ir-sony-decoder.c
|
||||
index 6764ec9de646..5065c081238d 100644
|
||||
index 6764ec9..5065c08 100644
|
||||
--- a/drivers/media/rc/ir-sony-decoder.c
|
||||
+++ b/drivers/media/rc/ir-sony-decoder.c
|
||||
@@ -224,6 +224,7 @@ static struct ir_raw_handler sony_handler = {
|
||||
@ -138,7 +138,7 @@ index 6764ec9de646..5065c081238d 100644
|
||||
|
||||
static int __init ir_sony_decode_init(void)
|
||||
diff --git a/drivers/media/rc/ir-xmp-decoder.c b/drivers/media/rc/ir-xmp-decoder.c
|
||||
index 58b47af1a763..c965f51df1c1 100644
|
||||
index 58b47af..c965f51 100644
|
||||
--- a/drivers/media/rc/ir-xmp-decoder.c
|
||||
+++ b/drivers/media/rc/ir-xmp-decoder.c
|
||||
@@ -199,6 +199,7 @@ static int ir_xmp_decode(struct rc_dev *dev, struct ir_raw_event ev)
|
||||
@ -150,7 +150,7 @@ index 58b47af1a763..c965f51df1c1 100644
|
||||
|
||||
static int __init ir_xmp_decode_init(void)
|
||||
diff --git a/drivers/media/rc/rc-core-priv.h b/drivers/media/rc/rc-core-priv.h
|
||||
index e0e6a17460f6..f78551344eca 100644
|
||||
index e0e6a17..f785513 100644
|
||||
--- a/drivers/media/rc/rc-core-priv.h
|
||||
+++ b/drivers/media/rc/rc-core-priv.h
|
||||
@@ -37,6 +37,7 @@ struct ir_raw_handler {
|
||||
@ -162,7 +162,7 @@ index e0e6a17460f6..f78551344eca 100644
|
||||
/* These two should only be used by the mce kbd decoder */
|
||||
int (*raw_register)(struct rc_dev *dev);
|
||||
diff --git a/drivers/media/rc/rc-ir-raw.c b/drivers/media/rc/rc-ir-raw.c
|
||||
index 374f83105a23..22e44c8f16fd 100644
|
||||
index 374f831..22e44c8 100644
|
||||
--- a/drivers/media/rc/rc-ir-raw.c
|
||||
+++ b/drivers/media/rc/rc-ir-raw.c
|
||||
@@ -233,7 +233,36 @@ ir_raw_get_allowed_protocols(void)
|
||||
@ -204,7 +204,7 @@ index 374f83105a23..22e44c8f16fd 100644
|
||||
}
|
||||
|
||||
diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c
|
||||
index b67be33bd62f..6a720e9c7aa8 100644
|
||||
index cea7b2d..8cd7a26 100644
|
||||
--- a/drivers/media/rc/rc-main.c
|
||||
+++ b/drivers/media/rc/rc-main.c
|
||||
@@ -1241,6 +1241,9 @@ static ssize_t store_protocols(struct device *device,
|
||||
@ -248,13 +248,13 @@ index b67be33bd62f..6a720e9c7aa8 100644
|
||||
set_bit(EV_REP, dev->input_dev->evbit);
|
||||
set_bit(EV_MSC, dev->input_dev->evbit);
|
||||
--
|
||||
2.11.0
|
||||
2.14.1
|
||||
|
||||
|
||||
From cfff3db62aa2d6bc9860f9785cdacdaa83c7f278 Mon Sep 17 00:00:00 2001
|
||||
From ef6ca369163f1b5d4a838bfbcd373dec8377f653 Mon Sep 17 00:00:00 2001
|
||||
From: Sean Young <sean@mess.org>
|
||||
Date: Fri, 23 Mar 2018 16:59:52 -0400
|
||||
Subject: [PATCH 02/14] media: rc: add ioctl to get the current timeout
|
||||
Subject: [PATCH 02/13] media: rc: add ioctl to get the current timeout
|
||||
|
||||
Since the kernel now modifies the timeout, make it possible to retrieve
|
||||
the current value.
|
||||
@ -269,7 +269,7 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
|
||||
4 files changed, 23 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/Documentation/media/uapi/rc/lirc-func.rst b/Documentation/media/uapi/rc/lirc-func.rst
|
||||
index ddb4620de294..9656423a3f28 100644
|
||||
index ddb4620..9656423 100644
|
||||
--- a/Documentation/media/uapi/rc/lirc-func.rst
|
||||
+++ b/Documentation/media/uapi/rc/lirc-func.rst
|
||||
@@ -17,6 +17,7 @@ LIRC Function Reference
|
||||
@ -281,7 +281,7 @@ index ddb4620de294..9656423a3f28 100644
|
||||
lirc-set-rec-carrier
|
||||
lirc-set-rec-carrier-range
|
||||
diff --git a/Documentation/media/uapi/rc/lirc-set-rec-timeout.rst b/Documentation/media/uapi/rc/lirc-set-rec-timeout.rst
|
||||
index b3e16bbdbc90..a833a6a4c25a 100644
|
||||
index b3e16bb..a833a6a 100644
|
||||
--- a/Documentation/media/uapi/rc/lirc-set-rec-timeout.rst
|
||||
+++ b/Documentation/media/uapi/rc/lirc-set-rec-timeout.rst
|
||||
@@ -1,19 +1,23 @@
|
||||
@ -322,7 +322,7 @@ index b3e16bbdbc90..a833a6a4c25a 100644
|
||||
If supported by the hardware, setting it to 0 disables all hardware timeouts
|
||||
and data should be reported as soon as possible. If the exact value
|
||||
diff --git a/drivers/media/rc/lirc_dev.c b/drivers/media/rc/lirc_dev.c
|
||||
index 24e9fbb80e81..17f40c8e939f 100644
|
||||
index 24e9fbb..17f40c8 100644
|
||||
--- a/drivers/media/rc/lirc_dev.c
|
||||
+++ b/drivers/media/rc/lirc_dev.c
|
||||
@@ -575,6 +575,13 @@ static long ir_lirc_ioctl(struct file *file, unsigned int cmd,
|
||||
@ -340,30 +340,30 @@ index 24e9fbb80e81..17f40c8e939f 100644
|
||||
if (!dev->timeout)
|
||||
ret = -ENOTTY;
|
||||
diff --git a/include/uapi/linux/lirc.h b/include/uapi/linux/lirc.h
|
||||
index f189931042a7..6b319581882f 100644
|
||||
index f189931..6b31958 100644
|
||||
--- a/include/uapi/linux/lirc.h
|
||||
+++ b/include/uapi/linux/lirc.h
|
||||
@@ -134,6 +134,12 @@
|
||||
@@ -133,6 +133,12 @@
|
||||
|
||||
#define LIRC_SET_WIDEBAND_RECEIVER _IOW('i', 0x00000023, __u32)
|
||||
|
||||
/*
|
||||
+/*
|
||||
+ * Return the recording timeout, which is either set by
|
||||
+ * the ioctl LIRC_SET_REC_TIMEOUT or by the kernel after setting the protocols.
|
||||
+ */
|
||||
+#define LIRC_GET_REC_TIMEOUT _IOR('i', 0x00000024, __u32)
|
||||
+
|
||||
+/*
|
||||
/*
|
||||
* struct lirc_scancode - decoded scancode with protocol for use with
|
||||
* LIRC_MODE_SCANCODE
|
||||
*
|
||||
--
|
||||
2.11.0
|
||||
2.14.1
|
||||
|
||||
|
||||
From cb1cedbe3615b2ff39e63cb59943d1f22f2d40ac Mon Sep 17 00:00:00 2001
|
||||
From 840d6701d0e1650cfc69bc0af79b983c4674d8c0 Mon Sep 17 00:00:00 2001
|
||||
From: Sean Young <sean@mess.org>
|
||||
Date: Sat, 24 Mar 2018 08:02:48 -0400
|
||||
Subject: [PATCH 03/14] media: rc: per-protocol repeat period and minimum keyup
|
||||
Subject: [PATCH 03/13] media: rc: per-protocol repeat period and minimum keyup
|
||||
timer
|
||||
|
||||
Each IR protocol has its own repeat period. We can minimise the keyup
|
||||
@ -383,7 +383,7 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
|
||||
3 files changed, 31 insertions(+), 29 deletions(-)
|
||||
|
||||
diff --git a/drivers/media/cec/cec-core.c b/drivers/media/cec/cec-core.c
|
||||
index b0c87f9ea08f..b278ab90b387 100644
|
||||
index b0c87f9..b278ab9 100644
|
||||
--- a/drivers/media/cec/cec-core.c
|
||||
+++ b/drivers/media/cec/cec-core.c
|
||||
@@ -322,7 +322,7 @@ struct cec_adapter *cec_allocate_adapter(const struct cec_adap_ops *ops,
|
||||
@ -396,7 +396,7 @@ index b0c87f9ea08f..b278ab90b387 100644
|
||||
return adap;
|
||||
}
|
||||
diff --git a/drivers/media/rc/lirc_dev.c b/drivers/media/rc/lirc_dev.c
|
||||
index 17f40c8e939f..19660f9757e1 100644
|
||||
index 17f40c8..19660f9 100644
|
||||
--- a/drivers/media/rc/lirc_dev.c
|
||||
+++ b/drivers/media/rc/lirc_dev.c
|
||||
@@ -583,7 +583,7 @@ static long ir_lirc_ioctl(struct file *file, unsigned int cmd,
|
||||
@ -409,7 +409,7 @@ index 17f40c8e939f..19660f9757e1 100644
|
||||
else
|
||||
fh->send_timeout_reports = !!val;
|
||||
diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c
|
||||
index 6a720e9c7aa8..9f4df60f62e1 100644
|
||||
index 8cd7a26..3b11241 100644
|
||||
--- a/drivers/media/rc/rc-main.c
|
||||
+++ b/drivers/media/rc/rc-main.c
|
||||
@@ -26,50 +26,50 @@ static const struct {
|
||||
@ -524,13 +524,13 @@ index 6a720e9c7aa8..9f4df60f62e1 100644
|
||||
timer_setup(&dev->timer_repeat, ir_timer_repeat, 0);
|
||||
|
||||
--
|
||||
2.11.0
|
||||
2.14.1
|
||||
|
||||
|
||||
From 20d8ec0acdf9788ae6c3a1317cddab769032d00d Mon Sep 17 00:00:00 2001
|
||||
From 62a0d8ca1d2ee90ce57d6f1700e011ec2ec50c92 Mon Sep 17 00:00:00 2001
|
||||
From: Sean Young <sean@mess.org>
|
||||
Date: Sun, 25 Mar 2018 11:45:40 -0400
|
||||
Subject: [PATCH 04/14] media: rc: mce_kbd decoder: low timeout values cause
|
||||
Subject: [PATCH 04/13] media: rc: mce_kbd decoder: low timeout values cause
|
||||
double keydowns
|
||||
|
||||
The mce keyboard repeats pressed keys every 100ms. If the IR timeout
|
||||
@ -548,10 +548,10 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
|
||||
1 file changed, 7 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/drivers/media/rc/ir-mce_kbd-decoder.c b/drivers/media/rc/ir-mce_kbd-decoder.c
|
||||
index 05f2a36769c0..9d609dca6e2b 100644
|
||||
index fa5ce51..03d0f7e 100644
|
||||
--- a/drivers/media/rc/ir-mce_kbd-decoder.c
|
||||
+++ b/drivers/media/rc/ir-mce_kbd-decoder.c
|
||||
@@ -322,11 +322,13 @@ static int ir_mce_kbd_decode(struct rc_dev *dev, struct ir_raw_event ev)
|
||||
@@ -324,11 +324,13 @@ static int ir_mce_kbd_decode(struct rc_dev *dev, struct ir_raw_event ev)
|
||||
scancode = data->body & 0xffff;
|
||||
dev_dbg(&dev->dev, "keyboard data 0x%08x\n",
|
||||
data->body);
|
||||
@ -571,13 +571,13 @@ index 05f2a36769c0..9d609dca6e2b 100644
|
||||
ir_mce_kbd_process_keyboard_data(dev, scancode);
|
||||
lsc.rc_proto = RC_PROTO_MCIR2_KBD;
|
||||
--
|
||||
2.11.0
|
||||
2.14.1
|
||||
|
||||
|
||||
From f237198b260ea1891437f991178657a0bf4de43d Mon Sep 17 00:00:00 2001
|
||||
From 109b96feab8cdb9660aa8f5c18fe019671c38949 Mon Sep 17 00:00:00 2001
|
||||
From: Sean Young <sean@mess.org>
|
||||
Date: Sat, 7 Apr 2018 17:41:17 -0400
|
||||
Subject: [PATCH 05/14] media: rc: mce_kbd protocol encodes two scancodes
|
||||
Subject: [PATCH 05/13] media: rc: mce_kbd protocol encodes two scancodes
|
||||
|
||||
If two keys are pressed, then both keys are encoded in the scancode. This
|
||||
makes the mce keyboard more responsive.
|
||||
@ -590,10 +590,10 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
|
||||
2 files changed, 13 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/drivers/media/rc/ir-mce_kbd-decoder.c b/drivers/media/rc/ir-mce_kbd-decoder.c
|
||||
index 9d609dca6e2b..f94e89ebc724 100644
|
||||
index 03d0f7e..002b832 100644
|
||||
--- a/drivers/media/rc/ir-mce_kbd-decoder.c
|
||||
+++ b/drivers/media/rc/ir-mce_kbd-decoder.c
|
||||
@@ -147,13 +147,14 @@ static enum mce_kbd_mode mce_kbd_mode(struct mce_kbd_dec *data)
|
||||
@@ -149,13 +149,14 @@ static enum mce_kbd_mode mce_kbd_mode(struct mce_kbd_dec *data)
|
||||
static void ir_mce_kbd_process_keyboard_data(struct rc_dev *dev, u32 scancode)
|
||||
{
|
||||
struct mce_kbd_dec *data = &dev->raw->mce_kbd;
|
||||
@ -612,7 +612,7 @@ index 9d609dca6e2b..f94e89ebc724 100644
|
||||
|
||||
for (i = 0; i < 7; i++) {
|
||||
maskcode = kbd_keycodes[MCIR2_MASK_KEYS_START + i];
|
||||
@@ -164,10 +165,12 @@ static void ir_mce_kbd_process_keyboard_data(struct rc_dev *dev, u32 scancode)
|
||||
@@ -166,10 +167,12 @@ static void ir_mce_kbd_process_keyboard_data(struct rc_dev *dev, u32 scancode)
|
||||
input_report_key(data->idev, maskcode, keystate);
|
||||
}
|
||||
|
||||
@ -629,7 +629,7 @@ index 9d609dca6e2b..f94e89ebc724 100644
|
||||
for (i = 0; i < MCIR2_MASK_KEYS_START; i++)
|
||||
input_report_key(data->idev, kbd_keycodes[i], 0);
|
||||
}
|
||||
@@ -319,7 +322,7 @@ static int ir_mce_kbd_decode(struct rc_dev *dev, struct ir_raw_event ev)
|
||||
@@ -321,7 +324,7 @@ static int ir_mce_kbd_decode(struct rc_dev *dev, struct ir_raw_event ev)
|
||||
|
||||
switch (data->wanted_bits) {
|
||||
case MCIR2_KEYBOARD_NBITS:
|
||||
@ -639,7 +639,7 @@ index 9d609dca6e2b..f94e89ebc724 100644
|
||||
data->body);
|
||||
if (scancode) {
|
||||
diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c
|
||||
index 9f4df60f62e1..b7071bde670a 100644
|
||||
index 3b11241..2e222d9 100644
|
||||
--- a/drivers/media/rc/rc-main.c
|
||||
+++ b/drivers/media/rc/rc-main.c
|
||||
@@ -51,7 +51,7 @@ static const struct {
|
||||
@ -652,46 +652,13 @@ index 9f4df60f62e1..b7071bde670a 100644
|
||||
.scancode_bits = 0x1fffff, .repeat_period = 100 },
|
||||
[RC_PROTO_RC6_0] = { .name = "rc-6-0",
|
||||
--
|
||||
2.11.0
|
||||
2.14.1
|
||||
|
||||
|
||||
From 6b911bbe130adae94296b099441b82914784ee94 Mon Sep 17 00:00:00 2001
|
||||
From: Sean Young <sean@mess.org>
|
||||
Date: Sun, 8 Apr 2018 06:36:40 -0400
|
||||
Subject: [PATCH 06/14] media: rc: mce_kbd decoder: fix stuck keys
|
||||
|
||||
The MCE Remote sends a 0 scancode when keys are released. If this is not
|
||||
received or decoded, then keys can get "stuck"; the keyup event is not
|
||||
sent since the input_sync() is missing from the timeout handler.
|
||||
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Sean Young <sean@mess.org>
|
||||
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
|
||||
---
|
||||
drivers/media/rc/ir-mce_kbd-decoder.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/drivers/media/rc/ir-mce_kbd-decoder.c b/drivers/media/rc/ir-mce_kbd-decoder.c
|
||||
index f94e89ebc724..002b8323ae69 100644
|
||||
--- a/drivers/media/rc/ir-mce_kbd-decoder.c
|
||||
+++ b/drivers/media/rc/ir-mce_kbd-decoder.c
|
||||
@@ -130,6 +130,8 @@ static void mce_kbd_rx_timeout(struct timer_list *t)
|
||||
|
||||
for (i = 0; i < MCIR2_MASK_KEYS_START; i++)
|
||||
input_report_key(raw->mce_kbd.idev, kbd_keycodes[i], 0);
|
||||
+
|
||||
+ input_sync(raw->mce_kbd.idev);
|
||||
}
|
||||
|
||||
static enum mce_kbd_mode mce_kbd_mode(struct mce_kbd_dec *data)
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
From 2734db8383a3761d32f96bef9d173a9390f753d9 Mon Sep 17 00:00:00 2001
|
||||
From 83fd4cbbb5e3f6b1a27a2098ae4e4ed53abcdc4a Mon Sep 17 00:00:00 2001
|
||||
From: Sean Young <sean@mess.org>
|
||||
Date: Wed, 11 Apr 2018 11:02:16 -0400
|
||||
Subject: [PATCH 07/14] media: rc: mce_kbd decoder: remove superfluous call to
|
||||
Subject: [PATCH 06/13] media: rc: mce_kbd decoder: remove superfluous call to
|
||||
input_sync
|
||||
|
||||
There is nothing to sync in this code path.
|
||||
@ -704,7 +671,7 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/media/rc/ir-mce_kbd-decoder.c b/drivers/media/rc/ir-mce_kbd-decoder.c
|
||||
index 002b8323ae69..2fc78710a724 100644
|
||||
index 002b832..2fc7871 100644
|
||||
--- a/drivers/media/rc/ir-mce_kbd-decoder.c
|
||||
+++ b/drivers/media/rc/ir-mce_kbd-decoder.c
|
||||
@@ -362,7 +362,6 @@ static int ir_mce_kbd_decode(struct rc_dev *dev, struct ir_raw_event ev)
|
||||
@ -716,13 +683,13 @@ index 002b8323ae69..2fc78710a724 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.11.0
|
||||
2.14.1
|
||||
|
||||
|
||||
From b7793b3f5899b82d2527d0fa89c3582c5074436d Mon Sep 17 00:00:00 2001
|
||||
From 58e8f06c164bc725c359c9f6dd22f7fb1718768c Mon Sep 17 00:00:00 2001
|
||||
From: Sean Young <sean@mess.org>
|
||||
Date: Thu, 12 Apr 2018 16:28:39 -0400
|
||||
Subject: [PATCH 08/14] media: rc: mce_kbd decoder: fix race condition
|
||||
Subject: [PATCH 07/13] media: rc: mce_kbd decoder: fix race condition
|
||||
|
||||
The MCE keyboard sends both key down and key up events. We have a timeout
|
||||
handler mce_kbd_rx_timeout() in case the keyup event is never received;
|
||||
@ -743,7 +710,7 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
|
||||
2 files changed, 18 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/drivers/media/rc/ir-mce_kbd-decoder.c b/drivers/media/rc/ir-mce_kbd-decoder.c
|
||||
index 2fc78710a724..9574c3dd90f2 100644
|
||||
index 2fc7871..9574c3d 100644
|
||||
--- a/drivers/media/rc/ir-mce_kbd-decoder.c
|
||||
+++ b/drivers/media/rc/ir-mce_kbd-decoder.c
|
||||
@@ -119,19 +119,25 @@ static void mce_kbd_rx_timeout(struct timer_list *t)
|
||||
@ -804,7 +771,7 @@ index 2fc78710a724..9574c3dd90f2 100644
|
||||
input_set_drvdata(idev, mce_kbd);
|
||||
|
||||
diff --git a/drivers/media/rc/rc-core-priv.h b/drivers/media/rc/rc-core-priv.h
|
||||
index f78551344eca..07ba77fe6a3b 100644
|
||||
index f785513..07ba77f 100644
|
||||
--- a/drivers/media/rc/rc-core-priv.h
|
||||
+++ b/drivers/media/rc/rc-core-priv.h
|
||||
@@ -105,6 +105,8 @@ struct ir_raw_event_ctrl {
|
||||
@ -817,13 +784,13 @@ index f78551344eca..07ba77fe6a3b 100644
|
||||
char name[64];
|
||||
char phys[64];
|
||||
--
|
||||
2.11.0
|
||||
2.14.1
|
||||
|
||||
|
||||
From c5aeb74f46ec942f4079c36a59724824cb188592 Mon Sep 17 00:00:00 2001
|
||||
From c9142eda7fe068269339893a910f2cd2e71dc8a4 Mon Sep 17 00:00:00 2001
|
||||
From: Sean Young <sean@mess.org>
|
||||
Date: Wed, 18 Apr 2018 05:36:25 -0400
|
||||
Subject: [PATCH 09/14] media: rc: mceusb: IR of length 0 means IR timeout, not
|
||||
Subject: [PATCH 08/13] media: rc: mceusb: IR of length 0 means IR timeout, not
|
||||
reset
|
||||
|
||||
The last usb packet with IR data will end with 0x80 (MCE_IRDATA_TRAILER).
|
||||
@ -836,7 +803,7 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/media/rc/mceusb.c b/drivers/media/rc/mceusb.c
|
||||
index 69ba57372c05..a1c21903b96c 100644
|
||||
index 69ba573..a1c2190 100644
|
||||
--- a/drivers/media/rc/mceusb.c
|
||||
+++ b/drivers/media/rc/mceusb.c
|
||||
@@ -1182,7 +1182,12 @@ static void mceusb_process_ir_data(struct mceusb_dev *ir, int buf_len)
|
||||
@ -854,13 +821,13 @@ index 69ba57372c05..a1c21903b96c 100644
|
||||
ir->pulse_count = 0;
|
||||
}
|
||||
--
|
||||
2.11.0
|
||||
2.14.1
|
||||
|
||||
|
||||
From 410a96b5bed5a814ae27129fad5ceda7aa4b4c07 Mon Sep 17 00:00:00 2001
|
||||
From 072bc4a62bb580904d43bbc2fbe04d97115a4020 Mon Sep 17 00:00:00 2001
|
||||
From: Sean Young <sean@mess.org>
|
||||
Date: Sun, 8 Apr 2018 11:06:49 -0400
|
||||
Subject: [PATCH 10/14] media: rc: mceusb: allow the timeout to be configurable
|
||||
Subject: [PATCH 09/13] media: rc: mceusb: allow the timeout to be configurable
|
||||
|
||||
mceusb devices have a default timeout of 100ms, but this can be changed.
|
||||
|
||||
@ -871,7 +838,7 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
|
||||
1 file changed, 22 insertions(+)
|
||||
|
||||
diff --git a/drivers/media/rc/mceusb.c b/drivers/media/rc/mceusb.c
|
||||
index a1c21903b96c..5c0bf61fae26 100644
|
||||
index a1c2190..5c0bf61 100644
|
||||
--- a/drivers/media/rc/mceusb.c
|
||||
+++ b/drivers/media/rc/mceusb.c
|
||||
@@ -982,6 +982,25 @@ static int mceusb_set_tx_carrier(struct rc_dev *dev, u32 carrier)
|
||||
@ -912,13 +879,13 @@ index a1c21903b96c..5c0bf61fae26 100644
|
||||
rc->s_tx_mask = mceusb_set_tx_mask;
|
||||
rc->s_tx_carrier = mceusb_set_tx_carrier;
|
||||
--
|
||||
2.11.0
|
||||
2.14.1
|
||||
|
||||
|
||||
From bb0b2578562412817987efc0aef6e635b789ae63 Mon Sep 17 00:00:00 2001
|
||||
From 880ddf029177c5a26889672c67db37572fff36e8 Mon Sep 17 00:00:00 2001
|
||||
From: Sean Young <sean@mess.org>
|
||||
Date: Wed, 9 May 2018 06:11:28 -0400
|
||||
Subject: [PATCH 11/14] media: mceusb: MCE_CMD_SETIRTIMEOUT cause strange
|
||||
Subject: [PATCH 10/13] media: mceusb: MCE_CMD_SETIRTIMEOUT cause strange
|
||||
behaviour on device
|
||||
|
||||
If the IR timeout is set on vid 1784 pid 0011, the device starts
|
||||
@ -932,7 +899,7 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
||||
1 file changed, 19 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/media/rc/mceusb.c b/drivers/media/rc/mceusb.c
|
||||
index 5c0bf61fae26..1619b748469b 100644
|
||||
index 5c0bf61..1619b74 100644
|
||||
--- a/drivers/media/rc/mceusb.c
|
||||
+++ b/drivers/media/rc/mceusb.c
|
||||
@@ -181,6 +181,7 @@ enum mceusb_model_type {
|
||||
@ -993,13 +960,13 @@ index 5c0bf61fae26..1619b748469b 100644
|
||||
rc->s_tx_mask = mceusb_set_tx_mask;
|
||||
rc->s_tx_carrier = mceusb_set_tx_carrier;
|
||||
--
|
||||
2.11.0
|
||||
2.14.1
|
||||
|
||||
|
||||
From 9fddaafa32f2fbf5d91e719f4d39208c3b782c3a Mon Sep 17 00:00:00 2001
|
||||
From 45bfc4c9f1747c826cb98f477f0a18ebbcdd957d Mon Sep 17 00:00:00 2001
|
||||
From: Sean Young <sean@mess.org>
|
||||
Date: Thu, 10 May 2018 07:37:51 -0400
|
||||
Subject: [PATCH 12/14] media: mceusb: filter out bogus timing irdata of
|
||||
Subject: [PATCH 11/13] media: mceusb: filter out bogus timing irdata of
|
||||
duration 0
|
||||
|
||||
A mceusb device has been observed producing invalid irdata. Proactively
|
||||
@ -1013,7 +980,7 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/drivers/media/rc/mceusb.c b/drivers/media/rc/mceusb.c
|
||||
index 1619b748469b..1ca49491abc8 100644
|
||||
index 1619b74..1ca49491 100644
|
||||
--- a/drivers/media/rc/mceusb.c
|
||||
+++ b/drivers/media/rc/mceusb.c
|
||||
@@ -1177,6 +1177,11 @@ static void mceusb_process_ir_data(struct mceusb_dev *ir, int buf_len)
|
||||
@ -1029,13 +996,13 @@ index 1619b748469b..1ca49491abc8 100644
|
||||
ir->pulse_tunit += rawir.duration;
|
||||
ir->pulse_count++;
|
||||
--
|
||||
2.11.0
|
||||
2.14.1
|
||||
|
||||
|
||||
From 1f8b44307727f56f360eb7a43097504fe478e2a9 Mon Sep 17 00:00:00 2001
|
||||
From d3f6e4507c2714234a5fac8428b5e5db4514a717 Mon Sep 17 00:00:00 2001
|
||||
From: Sean Young <sean@mess.org>
|
||||
Date: Thu, 10 May 2018 07:49:49 -0400
|
||||
Subject: [PATCH 13/14] media: mceusb: add missing break
|
||||
Subject: [PATCH 12/13] media: mceusb: add missing break
|
||||
|
||||
Fallthrough is not intended here.
|
||||
|
||||
@ -1046,7 +1013,7 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/media/rc/mceusb.c b/drivers/media/rc/mceusb.c
|
||||
index 1ca49491abc8..4c0c8008872a 100644
|
||||
index 1ca49491..4c0c800 100644
|
||||
--- a/drivers/media/rc/mceusb.c
|
||||
+++ b/drivers/media/rc/mceusb.c
|
||||
@@ -572,6 +572,7 @@ static int mceusb_cmd_datasize(u8 cmd, u8 subcmd)
|
||||
@ -1058,13 +1025,13 @@ index 1ca49491abc8..4c0c8008872a 100644
|
||||
switch (subcmd) {
|
||||
case MCE_CMD_UNKNOWN:
|
||||
--
|
||||
2.11.0
|
||||
2.14.1
|
||||
|
||||
|
||||
From 4b6434f8b34298bd30af762265f25feac4fada62 Mon Sep 17 00:00:00 2001
|
||||
From e7898b7a6ce902107232cb516d854609d71a9426 Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Reichl <hias@horus.com>
|
||||
Date: Sun, 13 May 2018 07:24:31 -0400
|
||||
Subject: [PATCH 14/14] media: rc: ite-cir: lower timeout and extend allowed
|
||||
Subject: [PATCH 13/13] media: rc: ite-cir: lower timeout and extend allowed
|
||||
timeout range
|
||||
|
||||
The minimum possible timeout of ite-cir is 8 samples, which is
|
||||
@ -1090,7 +1057,7 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
||||
2 files changed, 5 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/drivers/media/rc/ite-cir.c b/drivers/media/rc/ite-cir.c
|
||||
index 65e104c7ddfc..de77d22c30a7 100644
|
||||
index 65e104c..de77d22 100644
|
||||
--- a/drivers/media/rc/ite-cir.c
|
||||
+++ b/drivers/media/rc/ite-cir.c
|
||||
@@ -1561,9 +1561,11 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
|
||||
@ -1109,7 +1076,7 @@ index 65e104c7ddfc..de77d22c30a7 100644
|
||||
itdev->params.sample_period;
|
||||
rdev->tx_resolution = ITE_BAUDRATE_DIVISOR *
|
||||
diff --git a/drivers/media/rc/ite-cir.h b/drivers/media/rc/ite-cir.h
|
||||
index 0e8ebc880d1f..9cb24ac01350 100644
|
||||
index 0e8ebc8..9cb24ac 100644
|
||||
--- a/drivers/media/rc/ite-cir.h
|
||||
+++ b/drivers/media/rc/ite-cir.h
|
||||
@@ -154,13 +154,6 @@ struct ite_dev {
|
||||
@ -1127,5 +1094,5 @@ index 0e8ebc880d1f..9cb24ac01350 100644
|
||||
#define ITE_BITS_TO_NS(bits, sample_period) \
|
||||
((u32) ((bits) * ITE_BAUDRATE_DIVISOR * sample_period))
|
||||
--
|
||||
2.11.0
|
||||
2.14.1
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user