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>
This commit is contained in:
@@ -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)
|
||||
|
Reference in New Issue
Block a user