aboutsummaryrefslogtreecommitdiffstats
path: root/include/media/ir-core.h
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2010-04-01 22:43:29 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-05-19 12:56:48 -0300
commit77b7422d48cda9b8e5dabb7f4bc056861c5ed4fe (patch)
treeaca1f3329b8d836973cc303081e24df66bac1c0d /include/media/ir-core.h
parentV4L/DVB: ir-common: Use macros to define the keytables (diff)
downloadlinux-dev-77b7422d48cda9b8e5dabb7f4bc056861c5ed4fe.tar.xz
linux-dev-77b7422d48cda9b8e5dabb7f4bc056861c5ed4fe.zip
V4L/DVB: ir-common: move IR tables from ir-keymaps.c to a separate file
Instead of having one big file with lots of keytables, create one include file for each IR keymap. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include/media/ir-core.h')
-rw-r--r--include/media/ir-core.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/media/ir-core.h b/include/media/ir-core.h
index 9a2f3084ffec..643ff25daa89 100644
--- a/include/media/ir-core.h
+++ b/include/media/ir-core.h
@@ -96,6 +96,24 @@ struct ir_raw_handler {
#define to_ir_input_dev(_attr) container_of(_attr, struct ir_input_dev, attr)
+#define IR_KEYTABLE(a) \
+ir_codes_ ## a ## _table
+
+#define DECLARE_IR_KEYTABLE(a) \
+extern struct ir_scancode_table IR_KEYTABLE(a)
+
+#define DEFINE_IR_KEYTABLE(tabname, type) \
+struct ir_scancode_table IR_KEYTABLE(tabname) = { \
+ .scan = tabname, \
+ .size = ARRAY_SIZE(tabname), \
+ .ir_type = type, \
+ .name = #tabname, \
+}; \
+EXPORT_SYMBOL_GPL(IR_KEYTABLE(tabname))
+
+#define DEFINE_LEGACY_IR_KEYTABLE(tabname) \
+ DEFINE_IR_KEYTABLE(tabname, IR_TYPE_UNKNOWN)
+
/* Routines from ir-keytable.c */
u32 ir_g_keycode_from_table(struct input_dev *input_dev,