linux/drivers/media/dvb
Ian Armstrong c1e13971b1 [media] af9015: enhance RC
Patch from Ian Armstrong.

I've encountered a couple of problems with the current af9015 driver as
supplied with the 2.6.37 kernel, that the attached patch appears to fix. (I've
generated this patch against the current v4l-dvb git).

Some key-presses are lost. A key-press is only generated upon 'valid' data
(buf[14] == (u8) ~buf[15]), but the buffer is wiped before this check.
Sometimes the 15th byte has not been set at the time of read, so the data
isn't valid & ignored. On the next poll the 15th byte has been set, but the
rest of the data was wiped previously, so the data is still invalid & the key
is lost.

Weird repeat error, where an old key press is sometimes repeated in error. ie.
button sequence '1 (pause) 2 (pause) 3 (pause) 4' generates output like '1
(pause) 2 (pause) 23 (pause) 4'. The current driver zeroes the data for the
key pushed, but sometimes this data is already zero but with other bytes set
suggesting a repeat code. This results in the last key being incorrectly
repeated.

This patch attempts to reduce the risk of a missed key-press & also stop the
random repeat of an old key-press when a new key is pressed.

Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-22 04:54:52 -03:00
..
b2c2 [media] i2c: Stop using I2C_CLASS_TV_DIGITAL 2010-10-21 07:54:26 -02:00
bt8xx Merge branch 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:56 -07:00
dm1105 [media] Rename all public generic RC functions from ir_ to rc_ 2010-12-29 08:16:50 -02:00
dvb-core [media] tuner-core: remove the legacy is_stereo() call 2011-03-21 20:32:00 -03:00
dvb-usb [media] af9015: enhance RC 2011-03-22 04:54:52 -03:00
firewire [media] firedtv: drop obsolete backend abstraction 2011-03-21 20:32:21 -03:00
frontends [media] stv0367: implement uncorrected blocks counter 2011-03-22 04:54:10 -03:00
mantis [media] mantis_pci: remove asm/pgtable.h include 2011-03-03 10:15:35 -03:00
ngene [media] Move CI cxd2099 driver to staging 2011-03-21 20:31:47 -03:00
pluto2 [media] i2c: Stop using I2C_CLASS_TV_DIGITAL 2010-10-21 07:54:26 -02:00
pt1 [media] i2c: Stop using I2C_CLASS_TV_DIGITAL 2010-10-21 07:54:26 -02:00
siano [media] media: Remove unnecessary casts of usb_get_intfdata 2010-12-29 08:16:58 -02:00
ttpci [media] [v3,media] av7110: check for negative array offset 2011-01-19 11:45:54 -02:00
ttusb-budget [media] TTUSB DVB: ttusb_boot_dsp() needs to release_firmware() or it leaks memory 2011-03-21 20:32:22 -03:00
ttusb-dec USB: rename usb_buffer_alloc() and usb_buffer_free() users 2010-05-20 13:21:38 -07:00
Kconfig [media] firedtv: remove obsolete ieee1394 backend code 2011-03-21 20:32:12 -03:00
Makefile V4L/DVB: ngene: Driver compiles now 2010-02-26 15:10:53 -03:00