[media] rc: gpio-ir-recv: add timeout on idle
authorEric Nelson <eric@nelint.com>
Wed, 23 Sep 2015 14:07:08 +0000 (11:07 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Thu, 19 Nov 2015 09:46:33 +0000 (07:46 -0200)
commit3fb136f3392dfb2530fd490718b0652f1001b36b
treea10d27b48f979a03814e6678c7682b40a1451d3d
parentc8e1bbc52d259a07a81b0f845191ee901ff44e01
[media] rc: gpio-ir-recv: add timeout on idle

Many decoders require a trailing space (period without IR illumination)
to be delivered before completing a decode.

Since the gpio-ir-recv driver only delivers events on gpio transitions,
a single IR symbol (caused by a quick touch on an IR remote) will not
be properly decoded without the use of a timer to flush the tail end
state of the IR receiver.

This patch initializes and uses a timer and the timeout field of rcdev
to complete the stream and allow decode.

The timeout can be overridden through the use of the LIRC_SET_REC_TIMEOUT
ioctl.

Signed-off-by: Eric Nelson <eric@nelint.com>
Acked-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/rc/gpio-ir-recv.c