summaryrefslogtreecommitdiffstats
path: root/drivers/media/IR/ir-keytable.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab2010-04-03 21:53:16 +0200
committerMauro Carvalho Chehab2010-05-19 17:56:53 +0200
commit354389467b6b2a3b36666b6e933d78bbd9e23577 (patch)
tree361b2b1f713f661fc4af77b995ce00125c19f1de /drivers/media/IR/ir-keytable.c
parentV4L/DVB: drivers/media/IR - improve keytable code (diff)
downloadkernel-qcow2-linux-354389467b6b2a3b36666b6e933d78bbd9e23577.tar.gz
kernel-qcow2-linux-354389467b6b2a3b36666b6e933d78bbd9e23577.tar.xz
kernel-qcow2-linux-354389467b6b2a3b36666b6e933d78bbd9e23577.zip
V4L/DVB: ir-core: re-add some debug functions for keytable changes
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/IR/ir-keytable.c')
-rw-r--r--drivers/media/IR/ir-keytable.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/drivers/media/IR/ir-keytable.c b/drivers/media/IR/ir-keytable.c
index 10e4be22dbfd..a0aa5c1b6b41 100644
--- a/drivers/media/IR/ir-keytable.c
+++ b/drivers/media/IR/ir-keytable.c
@@ -100,6 +100,8 @@ static int ir_do_setkeycode(struct input_dev *dev,
/* Did the user wish to remove the mapping? */
if (keycode == KEY_RESERVED || keycode == KEY_UNKNOWN) {
+ IR_dprintk(1, "#%d: Deleting scan 0x%04x\n",
+ i, scancode);
rc_tab->len--;
memmove(&rc_tab->scan[i], &rc_tab->scan[i + 1],
(rc_tab->len - i) * sizeof(struct ir_scancode));
@@ -115,6 +117,9 @@ static int ir_do_setkeycode(struct input_dev *dev,
if (ir_resize_table(rc_tab))
return -ENOMEM;
+ IR_dprintk(1, "#%d: New scan 0x%04x with key 0x%04x\n",
+ i, scancode, keycode);
+
/* i is the proper index to insert our new keycode */
memmove(&rc_tab->scan[i + 1], &rc_tab->scan[i],
(rc_tab->len - i) * sizeof(struct ir_scancode));
@@ -123,6 +128,8 @@ static int ir_do_setkeycode(struct input_dev *dev,
rc_tab->len++;
set_bit(keycode, dev->keybit);
} else {
+ IR_dprintk(1, "#%d: Replacing scan 0x%04x with key 0x%04x\n",
+ i, scancode, keycode);
/* A previous mapping was updated... */
clear_bit(old_keycode, dev->keybit);
/* ...but another scancode might use the same keycode */
@@ -224,6 +231,10 @@ static int ir_getkeycode(struct input_dev *dev,
}
spin_unlock_irqrestore(&rc_tab->lock, flags);
+ if (key == KEY_RESERVED)
+ IR_dprintk(1, "unknown key for scancode 0x%04x\n",
+ scancode);
+
*keycode = key;
return 0;
}
@@ -243,8 +254,9 @@ u32 ir_g_keycode_from_table(struct input_dev *dev, u32 scancode)
int keycode;
ir_getkeycode(dev, scancode, &keycode);
- IR_dprintk(1, "%s: scancode 0x%04x keycode 0x%02x\n",
- dev->name, scancode, keycode);
+ if (keycode != KEY_RESERVED)
+ IR_dprintk(1, "%s: scancode 0x%04x keycode 0x%02x\n",
+ dev->name, scancode, keycode);
return keycode;
}
EXPORT_SYMBOL_GPL(ir_g_keycode_from_table);
@@ -386,6 +398,9 @@ int __ir_input_register(struct input_dev *input_dev,
if (rc < 0)
goto out_table;
+ IR_dprintk(1, "Registered input device on %s for %s remote.\n",
+ driver_name, rc_tab->name);
+
return 0;
out_table: