summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSean Young <sean@mess.org>2018-03-08 09:42:44 -0500
committerTao Huang <huangtao@rock-chips.com>2018-12-10 20:36:34 +0800
commit6c8c59d8c7dce3b5fa07fb9f9d057c7c0b5abacd (patch)
tree2a311d76d62b23396b268bda4e04b8dd93c3b9a0 /include
parent0d22cc0e86ea009f9fd7ae853e90aca54d60cd24 (diff)
UPSTREAM: media: rc: meson-ir: add timeout on idle
Meson doesn't seem to be able to generate timeout events in hardware. So install a software timer to generate the timeout events required by the decoders to prevent "ghost keypresses". Reported-by: Matthias Reichl <hias@horus.com> Tested-by: Matthias Reichl <hias@horus.com> Signed-off-by: Sean Young <sean@mess.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com> (cherry picked from commit 8d7a77ce56cdb5f50b83ca0c59a31362e1a5eeb4) Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com> Conflicts: drivers/media/rc/meson-ir.c
Diffstat (limited to 'include')
-rw-r--r--include/media/rc-core.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/media/rc-core.h b/include/media/rc-core.h
index 63503460f7bb..c077c07318bf 100644
--- a/include/media/rc-core.h
+++ b/include/media/rc-core.h
@@ -348,7 +348,9 @@ void ir_raw_event_handle(struct rc_dev *dev);
int ir_raw_event_store(struct rc_dev *dev, struct ir_raw_event *ev);
int ir_raw_event_store_edge(struct rc_dev *dev, bool pulse);
int ir_raw_event_store_with_filter(struct rc_dev *dev,
- struct ir_raw_event *ev);
+ struct ir_raw_event *ev);
+int ir_raw_event_store_with_timeout(struct rc_dev *dev,
+ struct ir_raw_event *ev);
void ir_raw_event_set_idle(struct rc_dev *dev, bool idle);
int ir_raw_encode_scancode(enum rc_proto protocol, u32 scancode,
struct ir_raw_event *events, unsigned int max);