diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-03-26 01:13:43 +0100 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-05-18 05:53:00 +0200 |
commit | 93c312ff21b0a53e701a45741887208297646a1a (patch) | |
tree | cc17d43e5b1926228daacb4ea61d7be43f1c0c24 /include/media/ir-core.h | |
parent | V4L/DVB: ir-core: dynamically load the compiled IR protocols (diff) | |
download | linux-93c312ff21b0a53e701a45741887208297646a1a.tar.xz linux-93c312ff21b0a53e701a45741887208297646a1a.zip |
V4L/DVB: ir-core: prepare to add more operations for ir decoders
Some decoders and a lirc_dev interface may need some other operations to work.
For example: IR device register/unregister and ir_keydown events may need to
be tracked.
As some operations can occur in interrupt time, and a lock is needed to prevent
un-registering a decode while decoding a key, the lock needed to be convert
into a spin lock.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to '')
-rw-r--r-- | include/media/ir-core.h | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/include/media/ir-core.h b/include/media/ir-core.h index c377bf47a059..c704fa7cc11e 100644 --- a/include/media/ir-core.h +++ b/include/media/ir-core.h @@ -88,6 +88,8 @@ struct ir_raw_handler { int (*decode)(struct input_dev *input_dev, struct ir_raw_event *evs, int len); + int (*raw_register)(struct input_dev *input_dev); + int (*raw_unregister)(struct input_dev *input_dev); }; #define to_ir_input_dev(_attr) container_of(_attr, struct ir_input_dev, attr) @@ -116,12 +118,7 @@ int ir_raw_event_store(struct input_dev *input_dev, enum raw_event_type type); int ir_raw_event_handle(struct input_dev *input_dev); int ir_raw_handler_register(struct ir_raw_handler *ir_raw_handler); void ir_raw_handler_unregister(struct ir_raw_handler *ir_raw_handler); - -#ifdef MODULE void ir_raw_init(void); -#else -#define ir_raw_init() 0 -#endif /* from ir-nec-decoder.c */ #ifdef CONFIG_IR_NEC_DECODER_MODULE |