1
linux/include/media
David Härdeman b3074c0a3f V4L/DVB: drivers/media/IR - improve keytable code
The attached patch rewrites much of the keytable code in
drivers/media/IR/ir-keytable.c.

The scancodes are now inserted into the array in sorted
order which allows for a binary search on lookup.

The code has also been shrunk by about 150 lines.

In addition it fixes the following bugs:

Any use of ir_seek_table() was racy.

ir_dev->driver_name is leaked between ir_input_register() and
ir_input_unregister().

ir_setkeycode() unconditionally does clear_bit() on dev->keybit
when removing a mapping, but there might be another mapping with
a different scancode and the same keycode.

This version has been updated to incorporate patch feedback from
Mauro Carvalho Chehab.

[mchehab@redhat.com: Fix a conflict with RC keytable breakup patches and input changes]

Signed-off-by: David Härdeman <david@hardeman.nu>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19 12:56:53 -03:00
..
davinci
adv7343.h
bt819.h
cs53l32a.h
cs5345.h
cx2341x.h
cx25840.h
i2c-addr.h
ir-common.h
ir-core.h V4L/DVB: drivers/media/IR - improve keytable code 2010-05-19 12:56:53 -03:00
ir-kbd-i2c.h
m52790.h
msp3400.h
mt9t112.h
ov772x.h
ovcamchip.h
pwc-ioctl.h
radio-si4713.h
rc-map.h
rds.h
rj54n1cb0c.h
saa6752hs.h
saa7115.h
saa7127.h
saa7146_vv.h
saa7146.h
sh_mobile_ceu.h
si4713.h
soc_camera_platform.h
soc_camera.h
soc_mediabus.h
timb_radio.h
tuner-types.h
tuner.h
tvaudio.h
tveeprom.h
tvp514x.h
tvp5150.h
tvp7002.h
tw9910.h
upd64031a.h
upd64083.h
v4l2-chip-ident.h
v4l2-common.h
v4l2-dev.h
v4l2-device.h
v4l2-i2c-drv.h
v4l2-int-device.h
v4l2-ioctl.h
v4l2-mediabus.h
v4l2-subdev.h
videobuf-core.h
videobuf-dma-contig.h
videobuf-dma-sg.h
videobuf-dvb.h
videobuf-vmalloc.h
wm8775.h