diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-12-02 15:56:47 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-12-05 18:42:22 -0200 |
commit | 7fee03e487e87a196deb5602ee3c7676511995c9 (patch) | |
tree | b46cfcd2d0cbe8640125cbd6548355872e36c193 /include/media | |
parent | a53e21257171af42c9fa6aee417f7891744d6ebf (diff) | |
download | linux-7fee03e487e87a196deb5602ee3c7676511995c9.tar.gz linux-7fee03e487e87a196deb5602ee3c7676511995c9.tar.xz |
V4L/DVB (13540): ir-common: Cleanup get key evdev code
The same loop to seek for a key were used on different places. Also,
no spinlock were protecting it to avoid the risk of replacing a keycode
while seeking for a new code.
This cleanup does:
- create an unique function to seek for a code;
- adds an spinlock to protect the table lookup;
- remove some unused code;
- simplifies to code to make it easier to understand.
Basically no change in behavior should be noticed after this patch.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include/media')
-rw-r--r-- | include/media/ir-common.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/media/ir-common.h b/include/media/ir-common.h index 452f6e86084d..e41a99ee353e 100644 --- a/include/media/ir-common.h +++ b/include/media/ir-common.h @@ -26,6 +26,7 @@ #include <linux/input.h> #include <linux/workqueue.h> #include <linux/interrupt.h> +#include <linux/spinlock.h> extern int media_ir_debug; /* media_ir_debug level (0,1,2) */ #define IR_dprintk(level, fmt, arg...) if (media_ir_debug >= level) \ @@ -43,6 +44,7 @@ struct ir_scancode { struct ir_scancode_table { struct ir_scancode *scan; int size; + spinlock_t lock; }; #define RC5_START(x) (((x)>>12)&3) |