linux/drivers/media/IR
David Härdeman c216369e61 V4L/DVB: ir-core: move decoding state to ir_raw_event_ctrl
This patch moves the state from each raw decoder into the
ir_raw_event_ctrl struct.

This allows the removal of code like this:

        spin_lock(&decoder_lock);
        list_for_each_entry(data, &decoder_list, list) {
                if (data->ir_dev == ir_dev)
                        break;
        }
        spin_unlock(&decoder_lock);
        return data;

which is currently run for each decoder on each event in order
to get the client-specific decoding state data.

In addition, ir decoding modules and ir driver module load
order is now independent. Centralizing the data also allows
for a nice code reduction of about 30% per raw decoder as
client lists and client registration callbacks are no longer
necessary (but still kept around for the benefit of the lirc
decoder).

Out-of-tree modules can still use a similar trick to what
the raw decoders did before this patch until they are merged.

Signed-off-by: David Härdeman <david@hardeman.nu>
Acked-by: Jarod Wilson <jarod@redhat.com>
Tested-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-02 14:55:15 -03:00
..
keymaps V4L/DVB: IR: add RC6 keymap for Windows Media Center Ed. remotes 2010-08-02 14:05:48 -03:00
imon.c V4L/DVB: IR/imon: add auto-config for 0xffdc rf device 2010-06-01 01:23:26 -03:00
ir-core-priv.h V4L/DVB: ir-core: move decoding state to ir_raw_event_ctrl 2010-08-02 14:55:15 -03:00
ir-functions.c V4L/DVB: ir-core: move subsystem internal calls to ir-core-priv.h 2010-05-19 12:57:04 -03:00
ir-jvc-decoder.c V4L/DVB: ir-core: move decoding state to ir_raw_event_ctrl 2010-08-02 14:55:15 -03:00
ir-keytable.c V4L/DVB: Bug fix: make IR work again for dm1105 2010-06-01 01:24:20 -03:00
ir-nec-decoder.c V4L/DVB: ir-core: move decoding state to ir_raw_event_ctrl 2010-08-02 14:55:15 -03:00
ir-raw-event.c V4L/DVB: ir-core: move decoding state to ir_raw_event_ctrl 2010-08-02 14:55:15 -03:00
ir-rc5-decoder.c V4L/DVB: ir-core: move decoding state to ir_raw_event_ctrl 2010-08-02 14:55:15 -03:00
ir-rc6-decoder.c V4L/DVB: ir-core: move decoding state to ir_raw_event_ctrl 2010-08-02 14:55:15 -03:00
ir-sony-decoder.c V4L/DVB: ir-core: move decoding state to ir_raw_event_ctrl 2010-08-02 14:55:15 -03:00
ir-sysfs.c V4L/DVB: ir-core: allow specifying multiple protocols at one open/write 2010-08-02 14:55:05 -03:00
Kconfig V4L/DVB: IR: add mceusb IR receiver driver 2010-08-02 14:05:49 -03:00
Makefile V4L/DVB: IR: add mceusb IR receiver driver 2010-08-02 14:05:49 -03:00
mceusb.c V4L/DVB: IR: add mceusb IR receiver driver 2010-08-02 14:05:49 -03:00
rc-map.c V4L/DVB: media/IR: Add missing include file to rc-map.c 2010-05-19 12:59:12 -03:00