linux/drivers/media/IR
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
..
keymaps V4L/DVB: Break Remote Controller keymaps into modules 2010-05-19 12:56:49 -03:00
ir-functions.c V4L/DVB (13680): ir: use unsigned long instead of enum 2010-02-26 15:10:24 -03:00
ir-keytable.c V4L/DVB: drivers/media/IR - improve keytable code 2010-05-19 12:56:53 -03:00
ir-nec-decoder.c V4L/DVB: ir-nec-decoder: Add sysfs node to enable/disable per irrcv 2010-05-18 00:53:01 -03:00
ir-raw-event.c V4L/DVB: ir-nec-decoder: Add sysfs node to enable/disable per irrcv 2010-05-18 00:53:01 -03:00
ir-sysfs.c V4L/DVB: ir-core: Make use of the new IR keymap modules 2010-05-19 12:56:50 -03:00
Kconfig V4L/DVB: Break Remote Controller keymaps into modules 2010-05-19 12:56:49 -03:00
Makefile V4L/DVB: ir-common: remove keymap tables from the module 2010-05-19 12:56:51 -03:00
rc-map.c V4L/DVB: ir-core: Make use of the new IR keymap modules 2010-05-19 12:56:50 -03:00