Commit dce4a3e3 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

V4L/DVB: ir-common: Use macros to define the keytables



The usage of macros ensures that the proper namespace is being used
by all tables. It also makes easier to associate a keytable with
the name used inside the drivers.

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent e27e971c
Loading
Loading
Loading
Loading
+128 −137

File changed.

Preview size limit exceeded, changes collapsed.

+13 −1
Original line number Diff line number Diff line
@@ -107,11 +107,23 @@ void ir_rc5_timer_keyup(unsigned long data);
/* scancode->keycode map tables from ir-keymaps.c */

#define IR_KEYTABLE(a)					\
(ir_codes_ ## a ## _table)
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)

DECLARE_IR_KEYTABLE(adstech_dvb_t_pci);
DECLARE_IR_KEYTABLE(apac_viewcomp);
DECLARE_IR_KEYTABLE(asus_pc39);