aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/IR
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2010-03-12 09:40:13 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-05-17 23:47:04 -0400
commit2915e5ef35d103a5ecae15d9ecc614fcd0dc48f4 (patch)
tree5293ae3e403bdbefe3cc0da9f0dc0752e69235c6 /drivers/media/IR
parent945cdfa2c99e2a3f5ead11519ba11ed1df2dd5c1 (diff)
V4L/DVB: ir-core: Add a macro to properly create IR tables
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/IR')
-rw-r--r--drivers/media/IR/ir-keymaps.c455
1 files changed, 81 insertions, 374 deletions
diff --git a/drivers/media/IR/ir-keymaps.c b/drivers/media/IR/ir-keymaps.c
index 0efdefe75f32..dfc777b78dea 100644
--- a/drivers/media/IR/ir-keymaps.c
+++ b/drivers/media/IR/ir-keymaps.c
@@ -28,16 +28,28 @@
28#include <linux/input.h> 28#include <linux/input.h>
29#include <media/ir-common.h> 29#include <media/ir-common.h>
30 30
31
32/*
33 * The usage of tables with just the command part is deprecated.
34 * All new IR keytables should contain address+command and need
35 * to define the proper IR_TYPE (IR_TYPE_RC5/IR_TYPE_NEC).
36 * The deprecated tables should use IR_TYPE_UNKNOWN
37 */
38#define IR_TABLE(irname, type, tabname) \
39struct ir_scancode_table tabname ## _table = { \
40 .scan = tabname, \
41 .size = ARRAY_SIZE(tabname), \
42 .ir_type = type, \
43 .name = #irname, \
44}; \
45EXPORT_SYMBOL_GPL(tabname ## _table)
46
47
31/* empty keytable, can be used as placeholder for not-yet created keytables */ 48/* empty keytable, can be used as placeholder for not-yet created keytables */
32static struct ir_scancode ir_codes_empty[] = { 49static struct ir_scancode ir_codes_empty[] = {
33 { 0x2a, KEY_COFFEE }, 50 { 0x2a, KEY_COFFEE },
34}; 51};
35 52IR_TABLE(empty, IR_TYPE_UNKNOWN, ir_codes_empty);
36struct ir_scancode_table ir_codes_empty_table = {
37 .scan = ir_codes_empty,
38 .size = ARRAY_SIZE(ir_codes_empty),
39};
40EXPORT_SYMBOL_GPL(ir_codes_empty_table);
41 53
42/* Michal Majchrowicz <mmajchrowicz@gmail.com> */ 54/* Michal Majchrowicz <mmajchrowicz@gmail.com> */
43static struct ir_scancode ir_codes_proteus_2309[] = { 55static struct ir_scancode ir_codes_proteus_2309[] = {
@@ -68,12 +80,7 @@ static struct ir_scancode ir_codes_proteus_2309[] = {
68 { 0x1e, KEY_VOLUMEUP }, /* volume + */ 80 { 0x1e, KEY_VOLUMEUP }, /* volume + */
69 { 0x14, KEY_F1 }, 81 { 0x14, KEY_F1 },
70}; 82};
71 83IR_TABLE(proteus_2309, IR_TYPE_UNKNOWN, ir_codes_proteus_2309);
72struct ir_scancode_table ir_codes_proteus_2309_table = {
73 .scan = ir_codes_proteus_2309,
74 .size = ARRAY_SIZE(ir_codes_proteus_2309),
75};
76EXPORT_SYMBOL_GPL(ir_codes_proteus_2309_table);
77 84
78/* Matt Jesson <dvb@jesson.eclipse.co.uk */ 85/* Matt Jesson <dvb@jesson.eclipse.co.uk */
79static struct ir_scancode ir_codes_avermedia_dvbt[] = { 86static struct ir_scancode ir_codes_avermedia_dvbt[] = {
@@ -113,12 +120,7 @@ static struct ir_scancode ir_codes_avermedia_dvbt[] = {
113 { 0x1e, KEY_VOLUMEDOWN }, /* 'volume -' */ 120 { 0x1e, KEY_VOLUMEDOWN }, /* 'volume -' */
114 { 0x3e, KEY_VOLUMEUP }, /* 'volume +' */ 121 { 0x3e, KEY_VOLUMEUP }, /* 'volume +' */
115}; 122};
116 123IR_TABLE(avermedia_dvbt, IR_TYPE_UNKNOWN, ir_codes_avermedia_dvbt);
117struct ir_scancode_table ir_codes_avermedia_dvbt_table = {
118 .scan = ir_codes_avermedia_dvbt,
119 .size = ARRAY_SIZE(ir_codes_avermedia_dvbt),
120};
121EXPORT_SYMBOL_GPL(ir_codes_avermedia_dvbt_table);
122 124
123/* Mauro Carvalho Chehab <mchehab@infradead.org> */ 125/* Mauro Carvalho Chehab <mchehab@infradead.org> */
124static struct ir_scancode ir_codes_avermedia_m135a[] = { 126static struct ir_scancode ir_codes_avermedia_m135a[] = {
@@ -168,12 +170,7 @@ static struct ir_scancode ir_codes_avermedia_m135a[] = {
168 { 0x18, KEY_PLAY }, 170 { 0x18, KEY_PLAY },
169 { 0x1b, KEY_STOP }, 171 { 0x1b, KEY_STOP },
170}; 172};
171 173IR_TABLE(avermedia_m135a, IR_TYPE_UNKNOWN, ir_codes_avermedia_m135a);
172struct ir_scancode_table ir_codes_avermedia_m135a_table = {
173 .scan = ir_codes_avermedia_m135a,
174 .size = ARRAY_SIZE(ir_codes_avermedia_m135a),
175};
176EXPORT_SYMBOL_GPL(ir_codes_avermedia_m135a_table);
177 174
178/* Oldrich Jedlicka <oldium.pro@seznam.cz> */ 175/* Oldrich Jedlicka <oldium.pro@seznam.cz> */
179static struct ir_scancode ir_codes_avermedia_cardbus[] = { 176static struct ir_scancode ir_codes_avermedia_cardbus[] = {
@@ -232,12 +229,7 @@ static struct ir_scancode ir_codes_avermedia_cardbus[] = {
232 { 0x42, KEY_CHANNELDOWN }, /* Channel down */ 229 { 0x42, KEY_CHANNELDOWN }, /* Channel down */
233 { 0x43, KEY_CHANNELUP }, /* Channel up */ 230 { 0x43, KEY_CHANNELUP }, /* Channel up */
234}; 231};
235 232IR_TABLE(avermedia_cardbus, IR_TYPE_UNKNOWN, ir_codes_avermedia_cardbus);
236struct ir_scancode_table ir_codes_avermedia_cardbus_table = {
237 .scan = ir_codes_avermedia_cardbus,
238 .size = ARRAY_SIZE(ir_codes_avermedia_cardbus),
239};
240EXPORT_SYMBOL_GPL(ir_codes_avermedia_cardbus_table);
241 233
242/* Attila Kondoros <attila.kondoros@chello.hu> */ 234/* Attila Kondoros <attila.kondoros@chello.hu> */
243static struct ir_scancode ir_codes_apac_viewcomp[] = { 235static struct ir_scancode ir_codes_apac_viewcomp[] = {
@@ -279,12 +271,7 @@ static struct ir_scancode ir_codes_apac_viewcomp[] = {
279 { 0x0c, KEY_KPPLUS }, /* fine tune >>>> */ 271 { 0x0c, KEY_KPPLUS }, /* fine tune >>>> */
280 { 0x18, KEY_KPMINUS }, /* fine tune <<<< */ 272 { 0x18, KEY_KPMINUS }, /* fine tune <<<< */
281}; 273};
282 274IR_TABLE(apac_viewcomp, IR_TYPE_UNKNOWN, ir_codes_apac_viewcomp);
283struct ir_scancode_table ir_codes_apac_viewcomp_table = {
284 .scan = ir_codes_apac_viewcomp,
285 .size = ARRAY_SIZE(ir_codes_apac_viewcomp),
286};
287EXPORT_SYMBOL_GPL(ir_codes_apac_viewcomp_table);
288 275
289/* ---------------------------------------------------------------------- */ 276/* ---------------------------------------------------------------------- */
290 277
@@ -331,12 +318,7 @@ static struct ir_scancode ir_codes_pixelview[] = {
331 { 0x1d, KEY_REFRESH }, /* reset */ 318 { 0x1d, KEY_REFRESH }, /* reset */
332 { 0x18, KEY_MUTE }, /* mute/unmute */ 319 { 0x18, KEY_MUTE }, /* mute/unmute */
333}; 320};
334 321IR_TABLE(pixelview, IR_TYPE_UNKNOWN, ir_codes_pixelview);
335struct ir_scancode_table ir_codes_pixelview_table = {
336 .scan = ir_codes_pixelview,
337 .size = ARRAY_SIZE(ir_codes_pixelview),
338};
339EXPORT_SYMBOL_GPL(ir_codes_pixelview_table);
340 322
341/* 323/*
342 Mauro Carvalho Chehab <mchehab@infradead.org> 324 Mauro Carvalho Chehab <mchehab@infradead.org>
@@ -381,12 +363,7 @@ static struct ir_scancode ir_codes_pixelview_new[] = {
381 { 0x31, KEY_TV }, 363 { 0x31, KEY_TV },
382 { 0x34, KEY_RADIO }, 364 { 0x34, KEY_RADIO },
383}; 365};
384 366IR_TABLE(pixelview_new, IR_TYPE_UNKNOWN, ir_codes_pixelview_new);
385struct ir_scancode_table ir_codes_pixelview_new_table = {
386 .scan = ir_codes_pixelview_new,
387 .size = ARRAY_SIZE(ir_codes_pixelview_new),
388};
389EXPORT_SYMBOL_GPL(ir_codes_pixelview_new_table);
390 367
391static struct ir_scancode ir_codes_nebula[] = { 368static struct ir_scancode ir_codes_nebula[] = {
392 { 0x00, KEY_0 }, 369 { 0x00, KEY_0 },
@@ -445,12 +422,7 @@ static struct ir_scancode ir_codes_nebula[] = {
445 { 0x35, KEY_PHONE }, 422 { 0x35, KEY_PHONE },
446 { 0x36, KEY_PC }, 423 { 0x36, KEY_PC },
447}; 424};
448 425IR_TABLE(nebula, IR_TYPE_UNKNOWN, ir_codes_nebula);
449struct ir_scancode_table ir_codes_nebula_table = {
450 .scan = ir_codes_nebula,
451 .size = ARRAY_SIZE(ir_codes_nebula),
452};
453EXPORT_SYMBOL_GPL(ir_codes_nebula_table);
454 426
455/* DigitalNow DNTV Live DVB-T Remote */ 427/* DigitalNow DNTV Live DVB-T Remote */
456static struct ir_scancode ir_codes_dntv_live_dvb_t[] = { 428static struct ir_scancode ir_codes_dntv_live_dvb_t[] = {
@@ -490,12 +462,7 @@ static struct ir_scancode ir_codes_dntv_live_dvb_t[] = {
490 { 0x1e, KEY_CHANNELDOWN }, 462 { 0x1e, KEY_CHANNELDOWN },
491 { 0x1f, KEY_VOLUMEDOWN }, 463 { 0x1f, KEY_VOLUMEDOWN },
492}; 464};
493 465IR_TABLE(dntv_live_dvb_t, IR_TYPE_UNKNOWN, ir_codes_dntv_live_dvb_t);
494struct ir_scancode_table ir_codes_dntv_live_dvb_t_table = {
495 .scan = ir_codes_dntv_live_dvb_t,
496 .size = ARRAY_SIZE(ir_codes_dntv_live_dvb_t),
497};
498EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvb_t_table);
499 466
500/* ---------------------------------------------------------------------- */ 467/* ---------------------------------------------------------------------- */
501 468
@@ -547,12 +514,7 @@ static struct ir_scancode ir_codes_iodata_bctv7e[] = {
547 { 0x61, KEY_FASTFORWARD }, /* forward >> */ 514 { 0x61, KEY_FASTFORWARD }, /* forward >> */
548 { 0x01, KEY_NEXT }, /* skip >| */ 515 { 0x01, KEY_NEXT }, /* skip >| */
549}; 516};
550 517IR_TABLE(iodata_bctv7e, IR_TYPE_UNKNOWN, ir_codes_iodata_bctv7e);
551struct ir_scancode_table ir_codes_iodata_bctv7e_table = {
552 .scan = ir_codes_iodata_bctv7e,
553 .size = ARRAY_SIZE(ir_codes_iodata_bctv7e),
554};
555EXPORT_SYMBOL_GPL(ir_codes_iodata_bctv7e_table);
556 518
557/* ---------------------------------------------------------------------- */ 519/* ---------------------------------------------------------------------- */
558 520
@@ -605,12 +567,7 @@ static struct ir_scancode ir_codes_adstech_dvb_t_pci[] = {
605 { 0x15, KEY_VOLUMEUP }, 567 { 0x15, KEY_VOLUMEUP },
606 { 0x1c, KEY_VOLUMEDOWN }, 568 { 0x1c, KEY_VOLUMEDOWN },
607}; 569};
608 570IR_TABLE(adstech_dvb_t_pci, IR_TYPE_UNKNOWN, ir_codes_adstech_dvb_t_pci);
609struct ir_scancode_table ir_codes_adstech_dvb_t_pci_table = {
610 .scan = ir_codes_adstech_dvb_t_pci,
611 .size = ARRAY_SIZE(ir_codes_adstech_dvb_t_pci),
612};
613EXPORT_SYMBOL_GPL(ir_codes_adstech_dvb_t_pci_table);
614 571
615/* ---------------------------------------------------------------------- */ 572/* ---------------------------------------------------------------------- */
616 573
@@ -644,12 +601,7 @@ static struct ir_scancode ir_codes_msi_tvanywhere[] = {
644 { 0x1e, KEY_CHANNELDOWN }, 601 { 0x1e, KEY_CHANNELDOWN },
645 { 0x1f, KEY_VOLUMEDOWN }, 602 { 0x1f, KEY_VOLUMEDOWN },
646}; 603};
647 604IR_TABLE(msi_tvanywhere, IR_TYPE_UNKNOWN, ir_codes_msi_tvanywhere);
648struct ir_scancode_table ir_codes_msi_tvanywhere_table = {
649 .scan = ir_codes_msi_tvanywhere,
650 .size = ARRAY_SIZE(ir_codes_msi_tvanywhere),
651};
652EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere_table);
653 605
654/* ---------------------------------------------------------------------- */ 606/* ---------------------------------------------------------------------- */
655 607
@@ -738,12 +690,7 @@ static struct ir_scancode ir_codes_msi_tvanywhere_plus[] = {
738 { 0x0c, KEY_FASTFORWARD }, /* >> */ 690 { 0x0c, KEY_FASTFORWARD }, /* >> */
739 { 0x1d, KEY_RESTART }, /* Reset */ 691 { 0x1d, KEY_RESTART }, /* Reset */
740}; 692};
741 693IR_TABLE(msi_tvanywhere_plus, IR_TYPE_UNKNOWN, ir_codes_msi_tvanywhere_plus);
742struct ir_scancode_table ir_codes_msi_tvanywhere_plus_table = {
743 .scan = ir_codes_msi_tvanywhere_plus,
744 .size = ARRAY_SIZE(ir_codes_msi_tvanywhere_plus),
745};
746EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere_plus_table);
747 694
748/* ---------------------------------------------------------------------- */ 695/* ---------------------------------------------------------------------- */
749 696
@@ -791,12 +738,7 @@ static struct ir_scancode ir_codes_cinergy_1400[] = {
791 { 0x48, KEY_STOP }, 738 { 0x48, KEY_STOP },
792 { 0x5c, KEY_NEXT }, 739 { 0x5c, KEY_NEXT },
793}; 740};
794 741IR_TABLE(cinergy_1400, IR_TYPE_UNKNOWN, ir_codes_cinergy_1400);
795struct ir_scancode_table ir_codes_cinergy_1400_table = {
796 .scan = ir_codes_cinergy_1400,
797 .size = ARRAY_SIZE(ir_codes_cinergy_1400),
798};
799EXPORT_SYMBOL_GPL(ir_codes_cinergy_1400_table);
800 742
801/* ---------------------------------------------------------------------- */ 743/* ---------------------------------------------------------------------- */
802 744
@@ -845,12 +787,7 @@ static struct ir_scancode ir_codes_avertv_303[] = {
845 { 0x13, KEY_DOWN }, 787 { 0x13, KEY_DOWN },
846 { 0x1b, KEY_UP }, 788 { 0x1b, KEY_UP },
847}; 789};
848 790IR_TABLE(avertv_303, IR_TYPE_UNKNOWN, ir_codes_avertv_303);
849struct ir_scancode_table ir_codes_avertv_303_table = {
850 .scan = ir_codes_avertv_303,
851 .size = ARRAY_SIZE(ir_codes_avertv_303),
852};
853EXPORT_SYMBOL_GPL(ir_codes_avertv_303_table);
854 791
855/* ---------------------------------------------------------------------- */ 792/* ---------------------------------------------------------------------- */
856 793
@@ -911,12 +848,7 @@ static struct ir_scancode ir_codes_dntv_live_dvbt_pro[] = {
911 { 0x5c, KEY_YELLOW }, 848 { 0x5c, KEY_YELLOW },
912 { 0x5d, KEY_BLUE }, 849 { 0x5d, KEY_BLUE },
913}; 850};
914 851IR_TABLE(dntv_live_dvbt_pro, IR_TYPE_UNKNOWN, ir_codes_dntv_live_dvbt_pro);
915struct ir_scancode_table ir_codes_dntv_live_dvbt_pro_table = {
916 .scan = ir_codes_dntv_live_dvbt_pro,
917 .size = ARRAY_SIZE(ir_codes_dntv_live_dvbt_pro),
918};
919EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvbt_pro_table);
920 852
921static struct ir_scancode ir_codes_em_terratec[] = { 853static struct ir_scancode ir_codes_em_terratec[] = {
922 { 0x01, KEY_CHANNEL }, 854 { 0x01, KEY_CHANNEL },
@@ -948,12 +880,7 @@ static struct ir_scancode ir_codes_em_terratec[] = {
948 { 0x1e, KEY_STOP }, 880 { 0x1e, KEY_STOP },
949 { 0x40, KEY_ZOOM }, 881 { 0x40, KEY_ZOOM },
950}; 882};
951 883IR_TABLE(em_terratec, IR_TYPE_UNKNOWN, ir_codes_em_terratec);
952struct ir_scancode_table ir_codes_em_terratec_table = {
953 .scan = ir_codes_em_terratec,
954 .size = ARRAY_SIZE(ir_codes_em_terratec),
955};
956EXPORT_SYMBOL_GPL(ir_codes_em_terratec_table);
957 884
958static struct ir_scancode ir_codes_pinnacle_grey[] = { 885static struct ir_scancode ir_codes_pinnacle_grey[] = {
959 { 0x3a, KEY_0 }, 886 { 0x3a, KEY_0 },
@@ -1005,12 +932,7 @@ static struct ir_scancode ir_codes_pinnacle_grey[] = {
1005 { 0x2a, KEY_MEDIA }, 932 { 0x2a, KEY_MEDIA },
1006 { 0x18, KEY_EPG }, 933 { 0x18, KEY_EPG },
1007}; 934};
1008 935IR_TABLE(pinnacle_grey, IR_TYPE_UNKNOWN, ir_codes_pinnacle_grey);
1009struct ir_scancode_table ir_codes_pinnacle_grey_table = {
1010 .scan = ir_codes_pinnacle_grey,
1011 .size = ARRAY_SIZE(ir_codes_pinnacle_grey),
1012};
1013EXPORT_SYMBOL_GPL(ir_codes_pinnacle_grey_table);
1014 936
1015static struct ir_scancode ir_codes_flyvideo[] = { 937static struct ir_scancode ir_codes_flyvideo[] = {
1016 { 0x0f, KEY_0 }, 938 { 0x0f, KEY_0 },
@@ -1043,12 +965,7 @@ static struct ir_scancode ir_codes_flyvideo[] = {
1043 { 0x1f, KEY_FORWARD }, /* Forward ( >>> ) */ 965 { 0x1f, KEY_FORWARD }, /* Forward ( >>> ) */
1044 { 0x0a, KEY_ANGLE }, /* no label, may be used as the PAUSE button */ 966 { 0x0a, KEY_ANGLE }, /* no label, may be used as the PAUSE button */
1045}; 967};
1046 968IR_TABLE(flyvideo, IR_TYPE_UNKNOWN, ir_codes_flyvideo);
1047struct ir_scancode_table ir_codes_flyvideo_table = {
1048 .scan = ir_codes_flyvideo,
1049 .size = ARRAY_SIZE(ir_codes_flyvideo),
1050};
1051EXPORT_SYMBOL_GPL(ir_codes_flyvideo_table);
1052 969
1053static struct ir_scancode ir_codes_flydvb[] = { 970static struct ir_scancode ir_codes_flydvb[] = {
1054 { 0x01, KEY_ZOOM }, /* Full Screen */ 971 { 0x01, KEY_ZOOM }, /* Full Screen */
@@ -1088,12 +1005,7 @@ static struct ir_scancode ir_codes_flydvb[] = {
1088 { 0x11, KEY_STOP }, /* Stop */ 1005 { 0x11, KEY_STOP }, /* Stop */
1089 { 0x0e, KEY_NEXT }, /* End >>| */ 1006 { 0x0e, KEY_NEXT }, /* End >>| */
1090}; 1007};
1091 1008IR_TABLE(flydvb, IR_TYPE_UNKNOWN, ir_codes_flydvb);
1092struct ir_scancode_table ir_codes_flydvb_table = {
1093 .scan = ir_codes_flydvb,
1094 .size = ARRAY_SIZE(ir_codes_flydvb),
1095};
1096EXPORT_SYMBOL_GPL(ir_codes_flydvb_table);
1097 1009
1098static struct ir_scancode ir_codes_cinergy[] = { 1010static struct ir_scancode ir_codes_cinergy[] = {
1099 { 0x00, KEY_0 }, 1011 { 0x00, KEY_0 },
@@ -1134,12 +1046,7 @@ static struct ir_scancode ir_codes_cinergy[] = {
1134 { 0x22, KEY_PAUSE }, 1046 { 0x22, KEY_PAUSE },
1135 { 0x23, KEY_STOP }, 1047 { 0x23, KEY_STOP },
1136}; 1048};
1137 1049IR_TABLE(cinergy, IR_TYPE_UNKNOWN, ir_codes_cinergy);
1138struct ir_scancode_table ir_codes_cinergy_table = {
1139 .scan = ir_codes_cinergy,
1140 .size = ARRAY_SIZE(ir_codes_cinergy),
1141};
1142EXPORT_SYMBOL_GPL(ir_codes_cinergy_table);
1143 1050
1144/* Alfons Geser <a.geser@cox.net> 1051/* Alfons Geser <a.geser@cox.net>
1145 * updates from Job D. R. Borges <jobdrb@ig.com.br> */ 1052 * updates from Job D. R. Borges <jobdrb@ig.com.br> */
@@ -1197,12 +1104,7 @@ static struct ir_scancode ir_codes_eztv[] = {
1197 { 0x13, KEY_ENTER }, /* enter */ 1104 { 0x13, KEY_ENTER }, /* enter */
1198 { 0x21, KEY_DOT }, /* . (decimal dot) */ 1105 { 0x21, KEY_DOT }, /* . (decimal dot) */
1199}; 1106};
1200 1107IR_TABLE(eztv, IR_TYPE_UNKNOWN, ir_codes_eztv);
1201struct ir_scancode_table ir_codes_eztv_table = {
1202 .scan = ir_codes_eztv,
1203 .size = ARRAY_SIZE(ir_codes_eztv),
1204};
1205EXPORT_SYMBOL_GPL(ir_codes_eztv_table);
1206 1108
1207/* Alex Hermann <gaaf@gmx.net> */ 1109/* Alex Hermann <gaaf@gmx.net> */
1208static struct ir_scancode ir_codes_avermedia[] = { 1110static struct ir_scancode ir_codes_avermedia[] = {
@@ -1250,12 +1152,7 @@ static struct ir_scancode ir_codes_avermedia[] = {
1250 { 0x11, KEY_CHANNELDOWN }, /* CHANNEL/PAGE- */ 1152 { 0x11, KEY_CHANNELDOWN }, /* CHANNEL/PAGE- */
1251 { 0x31, KEY_CHANNELUP } /* CHANNEL/PAGE+ */ 1153 { 0x31, KEY_CHANNELUP } /* CHANNEL/PAGE+ */
1252}; 1154};
1253 1155IR_TABLE(avermedia, IR_TYPE_UNKNOWN, ir_codes_avermedia);
1254struct ir_scancode_table ir_codes_avermedia_table = {
1255 .scan = ir_codes_avermedia,
1256 .size = ARRAY_SIZE(ir_codes_avermedia),
1257};
1258EXPORT_SYMBOL_GPL(ir_codes_avermedia_table);
1259 1156
1260static struct ir_scancode ir_codes_videomate_tv_pvr[] = { 1157static struct ir_scancode ir_codes_videomate_tv_pvr[] = {
1261 { 0x14, KEY_MUTE }, 1158 { 0x14, KEY_MUTE },
@@ -1305,12 +1202,7 @@ static struct ir_scancode ir_codes_videomate_tv_pvr[] = {
1305 { 0x20, KEY_LANGUAGE }, 1202 { 0x20, KEY_LANGUAGE },
1306 { 0x21, KEY_SLEEP }, 1203 { 0x21, KEY_SLEEP },
1307}; 1204};
1308 1205IR_TABLE(videomate_tv_pvr, IR_TYPE_UNKNOWN, ir_codes_videomate_tv_pvr);
1309struct ir_scancode_table ir_codes_videomate_tv_pvr_table = {
1310 .scan = ir_codes_videomate_tv_pvr,
1311 .size = ARRAY_SIZE(ir_codes_videomate_tv_pvr),
1312};
1313EXPORT_SYMBOL_GPL(ir_codes_videomate_tv_pvr_table);
1314 1206
1315/* Michael Tokarev <mjt@tls.msk.ru> 1207/* Michael Tokarev <mjt@tls.msk.ru>
1316 http://www.corpit.ru/mjt/beholdTV/remote_control.jpg 1208 http://www.corpit.ru/mjt/beholdTV/remote_control.jpg
@@ -1407,12 +1299,7 @@ static struct ir_scancode ir_codes_manli[] = {
1407 1299
1408 /* 0x1d unused ? */ 1300 /* 0x1d unused ? */
1409}; 1301};
1410 1302IR_TABLE(manli, IR_TYPE_UNKNOWN, ir_codes_manli);
1411struct ir_scancode_table ir_codes_manli_table = {
1412 .scan = ir_codes_manli,
1413 .size = ARRAY_SIZE(ir_codes_manli),
1414};
1415EXPORT_SYMBOL_GPL(ir_codes_manli_table);
1416 1303
1417/* Mike Baikov <mike@baikov.com> */ 1304/* Mike Baikov <mike@baikov.com> */
1418static struct ir_scancode ir_codes_gotview7135[] = { 1305static struct ir_scancode ir_codes_gotview7135[] = {
@@ -1453,12 +1340,7 @@ static struct ir_scancode ir_codes_gotview7135[] = {
1453 { 0x1e, KEY_TIME }, /* TIMESHIFT */ 1340 { 0x1e, KEY_TIME }, /* TIMESHIFT */
1454 { 0x38, KEY_F24 }, /* NORMAL TIMESHIFT */ 1341 { 0x38, KEY_F24 }, /* NORMAL TIMESHIFT */
1455}; 1342};
1456 1343IR_TABLE(gotview7135, IR_TYPE_UNKNOWN, ir_codes_gotview7135);
1457struct ir_scancode_table ir_codes_gotview7135_table = {
1458 .scan = ir_codes_gotview7135,
1459 .size = ARRAY_SIZE(ir_codes_gotview7135),
1460};
1461EXPORT_SYMBOL_GPL(ir_codes_gotview7135_table);
1462 1344
1463static struct ir_scancode ir_codes_purpletv[] = { 1345static struct ir_scancode ir_codes_purpletv[] = {
1464 { 0x03, KEY_POWER }, 1346 { 0x03, KEY_POWER },
@@ -1502,12 +1384,7 @@ static struct ir_scancode ir_codes_purpletv[] = {
1502 { 0x42, KEY_REWIND }, /* Backward ? */ 1384 { 0x42, KEY_REWIND }, /* Backward ? */
1503 1385
1504}; 1386};
1505 1387IR_TABLE(purpletv, IR_TYPE_UNKNOWN, ir_codes_purpletv);
1506struct ir_scancode_table ir_codes_purpletv_table = {
1507 .scan = ir_codes_purpletv,
1508 .size = ARRAY_SIZE(ir_codes_purpletv),
1509};
1510EXPORT_SYMBOL_GPL(ir_codes_purpletv_table);
1511 1388
1512/* Mapping for the 28 key remote control as seen at 1389/* Mapping for the 28 key remote control as seen at
1513 http://www.sednacomputer.com/photo/cardbus-tv.jpg 1390 http://www.sednacomputer.com/photo/cardbus-tv.jpg
@@ -1549,12 +1426,7 @@ static struct ir_scancode ir_codes_pctv_sedna[] = {
1549 { 0x17, KEY_DIGITS }, /* Plus */ 1426 { 0x17, KEY_DIGITS }, /* Plus */
1550 { 0x1f, KEY_PLAY }, /* Play */ 1427 { 0x1f, KEY_PLAY }, /* Play */
1551}; 1428};
1552 1429IR_TABLE(pctv_sedna, IR_TYPE_UNKNOWN, ir_codes_pctv_sedna);
1553struct ir_scancode_table ir_codes_pctv_sedna_table = {
1554 .scan = ir_codes_pctv_sedna,
1555 .size = ARRAY_SIZE(ir_codes_pctv_sedna),
1556};
1557EXPORT_SYMBOL_GPL(ir_codes_pctv_sedna_table);
1558 1430
1559/* Mark Phalan <phalanm@o2.ie> */ 1431/* Mark Phalan <phalanm@o2.ie> */
1560static struct ir_scancode ir_codes_pv951[] = { 1432static struct ir_scancode ir_codes_pv951[] = {
@@ -1594,12 +1466,7 @@ static struct ir_scancode ir_codes_pv951[] = {
1594 { 0x14, KEY_EQUAL }, /* SYNC */ 1466 { 0x14, KEY_EQUAL }, /* SYNC */
1595 { 0x1c, KEY_MEDIA }, /* PC/TV */ 1467 { 0x1c, KEY_MEDIA }, /* PC/TV */
1596}; 1468};
1597 1469IR_TABLE(pv951, IR_TYPE_UNKNOWN, ir_codes_pv951);
1598struct ir_scancode_table ir_codes_pv951_table = {
1599 .scan = ir_codes_pv951,
1600 .size = ARRAY_SIZE(ir_codes_pv951),
1601};
1602EXPORT_SYMBOL_GPL(ir_codes_pv951_table);
1603 1470
1604/* generic RC5 keytable */ 1471/* generic RC5 keytable */
1605/* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */ 1472/* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */
@@ -1642,12 +1509,7 @@ static struct ir_scancode ir_codes_rc5_tv[] = {
1642 { 0x3d, KEY_SUSPEND }, /* system standby */ 1509 { 0x3d, KEY_SUSPEND }, /* system standby */
1643 1510
1644}; 1511};
1645 1512IR_TABLE(rc5_tv, IR_TYPE_UNKNOWN, ir_codes_rc5_tv);
1646struct ir_scancode_table ir_codes_rc5_tv_table = {
1647 .scan = ir_codes_rc5_tv,
1648 .size = ARRAY_SIZE(ir_codes_rc5_tv),
1649};
1650EXPORT_SYMBOL_GPL(ir_codes_rc5_tv_table);
1651 1513
1652/* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */ 1514/* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */
1653static struct ir_scancode ir_codes_winfast[] = { 1515static struct ir_scancode ir_codes_winfast[] = {
@@ -1711,12 +1573,7 @@ static struct ir_scancode ir_codes_winfast[] = {
1711 { 0x3b, KEY_F23 }, /* MCE +CH, on Y04G0033 */ 1573 { 0x3b, KEY_F23 }, /* MCE +CH, on Y04G0033 */
1712 { 0x3f, KEY_F24 } /* MCE -CH, on Y04G0033 */ 1574 { 0x3f, KEY_F24 } /* MCE -CH, on Y04G0033 */
1713}; 1575};
1714 1576IR_TABLE(winfast, IR_TYPE_UNKNOWN, ir_codes_winfast);
1715struct ir_scancode_table ir_codes_winfast_table = {
1716 .scan = ir_codes_winfast,
1717 .size = ARRAY_SIZE(ir_codes_winfast),
1718};
1719EXPORT_SYMBOL_GPL(ir_codes_winfast_table);
1720 1577
1721static struct ir_scancode ir_codes_pinnacle_color[] = { 1578static struct ir_scancode ir_codes_pinnacle_color[] = {
1722 { 0x59, KEY_MUTE }, 1579 { 0x59, KEY_MUTE },
@@ -1773,12 +1630,7 @@ static struct ir_scancode ir_codes_pinnacle_color[] = {
1773 { 0x74, KEY_CHANNEL }, 1630 { 0x74, KEY_CHANNEL },
1774 { 0x0a, KEY_BACKSPACE }, 1631 { 0x0a, KEY_BACKSPACE },
1775}; 1632};
1776 1633IR_TABLE(pinnacle_color, IR_TYPE_UNKNOWN, ir_codes_pinnacle_color);
1777struct ir_scancode_table ir_codes_pinnacle_color_table = {
1778 .scan = ir_codes_pinnacle_color,
1779 .size = ARRAY_SIZE(ir_codes_pinnacle_color),
1780};
1781EXPORT_SYMBOL_GPL(ir_codes_pinnacle_color_table);
1782 1634
1783/* Hauppauge: the newer, gray remotes (seems there are multiple 1635/* Hauppauge: the newer, gray remotes (seems there are multiple
1784 * slightly different versions), shipped with cx88+ivtv cards. 1636 * slightly different versions), shipped with cx88+ivtv cards.
@@ -1840,12 +1692,7 @@ static struct ir_scancode ir_codes_hauppauge_new[] = {
1840 { 0x3c, KEY_ZOOM }, /* full */ 1692 { 0x3c, KEY_ZOOM }, /* full */
1841 { 0x3d, KEY_POWER }, /* system power (green button) */ 1693 { 0x3d, KEY_POWER }, /* system power (green button) */
1842}; 1694};
1843 1695IR_TABLE(hauppauge_new, IR_TYPE_UNKNOWN, ir_codes_hauppauge_new);
1844struct ir_scancode_table ir_codes_hauppauge_new_table = {
1845 .scan = ir_codes_hauppauge_new,
1846 .size = ARRAY_SIZE(ir_codes_hauppauge_new),
1847};
1848EXPORT_SYMBOL_GPL(ir_codes_hauppauge_new_table);
1849 1696
1850static struct ir_scancode ir_codes_npgtech[] = { 1697static struct ir_scancode ir_codes_npgtech[] = {
1851 { 0x1d, KEY_SWITCHVIDEOMODE }, /* switch inputs */ 1698 { 0x1d, KEY_SWITCHVIDEOMODE }, /* switch inputs */
@@ -1888,12 +1735,7 @@ static struct ir_scancode ir_codes_npgtech[] = {
1888 { 0x10, KEY_POWER }, 1735 { 0x10, KEY_POWER },
1889 1736
1890}; 1737};
1891 1738IR_TABLE(npgtech, IR_TYPE_UNKNOWN, ir_codes_npgtech);
1892struct ir_scancode_table ir_codes_npgtech_table = {
1893 .scan = ir_codes_npgtech,
1894 .size = ARRAY_SIZE(ir_codes_npgtech),
1895};
1896EXPORT_SYMBOL_GPL(ir_codes_npgtech_table);
1897 1739
1898/* Norwood Micro (non-Pro) TV Tuner 1740/* Norwood Micro (non-Pro) TV Tuner
1899 By Peter Naulls <peter@chocky.org> 1741 By Peter Naulls <peter@chocky.org>
@@ -1940,12 +1782,7 @@ static struct ir_scancode ir_codes_norwood[] = {
1940 { 0x34, KEY_RADIO }, /* FM */ 1782 { 0x34, KEY_RADIO }, /* FM */
1941 { 0x65, KEY_POWER }, /* Computer power */ 1783 { 0x65, KEY_POWER }, /* Computer power */
1942}; 1784};
1943 1785IR_TABLE(norwood, IR_TYPE_UNKNOWN, ir_codes_norwood);
1944struct ir_scancode_table ir_codes_norwood_table = {
1945 .scan = ir_codes_norwood,
1946 .size = ARRAY_SIZE(ir_codes_norwood),
1947};
1948EXPORT_SYMBOL_GPL(ir_codes_norwood_table);
1949 1786
1950/* From reading the following remotes: 1787/* From reading the following remotes:
1951 * Zenith Universal 7 / TV Mode 807 / VCR Mode 837 1788 * Zenith Universal 7 / TV Mode 807 / VCR Mode 837
@@ -1999,12 +1836,7 @@ static struct ir_scancode ir_codes_budget_ci_old[] = {
1999 { 0x3d, KEY_POWER2 }, 1836 { 0x3d, KEY_POWER2 },
2000 { 0x3e, KEY_TUNER }, 1837 { 0x3e, KEY_TUNER },
2001}; 1838};
2002 1839IR_TABLE(budget_ci_old, IR_TYPE_UNKNOWN, ir_codes_budget_ci_old);
2003struct ir_scancode_table ir_codes_budget_ci_old_table = {
2004 .scan = ir_codes_budget_ci_old,
2005 .size = ARRAY_SIZE(ir_codes_budget_ci_old),
2006};
2007EXPORT_SYMBOL_GPL(ir_codes_budget_ci_old_table);
2008 1840
2009/* 1841/*
2010 * Marc Fargas <telenieko@telenieko.com> 1842 * Marc Fargas <telenieko@telenieko.com>
@@ -2057,13 +1889,7 @@ static struct ir_scancode ir_codes_asus_pc39[] = {
2057 { 0x3d, KEY_MUTE }, /* mute */ 1889 { 0x3d, KEY_MUTE }, /* mute */
2058 { 0x01, KEY_DVD }, /* dvd */ 1890 { 0x01, KEY_DVD }, /* dvd */
2059}; 1891};
2060 1892IR_TABLE(asus_pc39, IR_TYPE_UNKNOWN, ir_codes_asus_pc39);
2061struct ir_scancode_table ir_codes_asus_pc39_table = {
2062 .scan = ir_codes_asus_pc39,
2063 .size = ARRAY_SIZE(ir_codes_asus_pc39),
2064};
2065EXPORT_SYMBOL_GPL(ir_codes_asus_pc39_table);
2066
2067 1893
2068/* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons 1894/* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons
2069 Juan Pablo Sormani <sorman@gmail.com> */ 1895 Juan Pablo Sormani <sorman@gmail.com> */
@@ -2137,12 +1963,7 @@ static struct ir_scancode ir_codes_encore_enltv[] = {
2137 { 0x47, KEY_YELLOW }, /* AP3 */ 1963 { 0x47, KEY_YELLOW }, /* AP3 */
2138 { 0x57, KEY_BLUE }, /* AP4 */ 1964 { 0x57, KEY_BLUE }, /* AP4 */
2139}; 1965};
2140 1966IR_TABLE(encore_enltv, IR_TYPE_UNKNOWN, ir_codes_encore_enltv);
2141struct ir_scancode_table ir_codes_encore_enltv_table = {
2142 .scan = ir_codes_encore_enltv,
2143 .size = ARRAY_SIZE(ir_codes_encore_enltv),
2144};
2145EXPORT_SYMBOL_GPL(ir_codes_encore_enltv_table);
2146 1967
2147/* Encore ENLTV2-FM - silver plastic - "Wand Media" written at the botton 1968/* Encore ENLTV2-FM - silver plastic - "Wand Media" written at the botton
2148 Mauro Carvalho Chehab <mchehab@infradead.org> */ 1969 Mauro Carvalho Chehab <mchehab@infradead.org> */
@@ -2194,12 +2015,7 @@ static struct ir_scancode ir_codes_encore_enltv2[] = {
2194 { 0x7d, KEY_FORWARD }, 2015 { 0x7d, KEY_FORWARD },
2195 { 0x79, KEY_STOP }, 2016 { 0x79, KEY_STOP },
2196}; 2017};
2197 2018IR_TABLE(encore_enltv2, IR_TYPE_UNKNOWN, ir_codes_encore_enltv2);
2198struct ir_scancode_table ir_codes_encore_enltv2_table = {
2199 .scan = ir_codes_encore_enltv2,
2200 .size = ARRAY_SIZE(ir_codes_encore_enltv2),
2201};
2202EXPORT_SYMBOL_GPL(ir_codes_encore_enltv2_table);
2203 2019
2204/* for the Technotrend 1500 bundled remotes (grey and black): */ 2020/* for the Technotrend 1500 bundled remotes (grey and black): */
2205static struct ir_scancode ir_codes_tt_1500[] = { 2021static struct ir_scancode ir_codes_tt_1500[] = {
@@ -2243,12 +2059,7 @@ static struct ir_scancode ir_codes_tt_1500[] = {
2243 { 0x3e, KEY_PAUSE }, 2059 { 0x3e, KEY_PAUSE },
2244 { 0x3f, KEY_FORWARD }, 2060 { 0x3f, KEY_FORWARD },
2245}; 2061};
2246 2062IR_TABLE(tt_1500, IR_TYPE_UNKNOWN, ir_codes_tt_1500);
2247struct ir_scancode_table ir_codes_tt_1500_table = {
2248 .scan = ir_codes_tt_1500,
2249 .size = ARRAY_SIZE(ir_codes_tt_1500),
2250};
2251EXPORT_SYMBOL_GPL(ir_codes_tt_1500_table);
2252 2063
2253/* DViCO FUSION HDTV MCE remote */ 2064/* DViCO FUSION HDTV MCE remote */
2254static struct ir_scancode ir_codes_fusionhdtv_mce[] = { 2065static struct ir_scancode ir_codes_fusionhdtv_mce[] = {
@@ -2308,12 +2119,7 @@ static struct ir_scancode ir_codes_fusionhdtv_mce[] = {
2308 { 0x01, KEY_RECORD }, 2119 { 0x01, KEY_RECORD },
2309 { 0x4e, KEY_POWER }, 2120 { 0x4e, KEY_POWER },
2310}; 2121};
2311 2122IR_TABLE(fusionhdtv_mce, IR_TYPE_UNKNOWN, ir_codes_fusionhdtv_mce);
2312struct ir_scancode_table ir_codes_fusionhdtv_mce_table = {
2313 .scan = ir_codes_fusionhdtv_mce,
2314 .size = ARRAY_SIZE(ir_codes_fusionhdtv_mce),
2315};
2316EXPORT_SYMBOL_GPL(ir_codes_fusionhdtv_mce_table);
2317 2123
2318/* Pinnacle PCTV HD 800i mini remote */ 2124/* Pinnacle PCTV HD 800i mini remote */
2319static struct ir_scancode ir_codes_pinnacle_pctv_hd[] = { 2125static struct ir_scancode ir_codes_pinnacle_pctv_hd[] = {
@@ -2348,12 +2154,7 @@ static struct ir_scancode ir_codes_pinnacle_pctv_hd[] = {
2348 { 0x36, KEY_RECORD }, 2154 { 0x36, KEY_RECORD },
2349 { 0x3f, KEY_EPG }, /* Labeled "?" */ 2155 { 0x3f, KEY_EPG }, /* Labeled "?" */
2350}; 2156};
2351 2157IR_TABLE(pinnacle_pctv_hd, IR_TYPE_UNKNOWN, ir_codes_pinnacle_pctv_hd);
2352struct ir_scancode_table ir_codes_pinnacle_pctv_hd_table = {
2353 .scan = ir_codes_pinnacle_pctv_hd,
2354 .size = ARRAY_SIZE(ir_codes_pinnacle_pctv_hd),
2355};
2356EXPORT_SYMBOL_GPL(ir_codes_pinnacle_pctv_hd_table);
2357 2158
2358/* 2159/*
2359 * Igor Kuznetsov <igk72@ya.ru> 2160 * Igor Kuznetsov <igk72@ya.ru>
@@ -2456,12 +2257,7 @@ static struct ir_scancode ir_codes_behold[] = {
2456 { 0x5c, KEY_CAMERA }, 2257 { 0x5c, KEY_CAMERA },
2457 2258
2458}; 2259};
2459 2260IR_TABLE(behold, IR_TYPE_UNKNOWN, ir_codes_behold);
2460struct ir_scancode_table ir_codes_behold_table = {
2461 .scan = ir_codes_behold,
2462 .size = ARRAY_SIZE(ir_codes_behold),
2463};
2464EXPORT_SYMBOL_GPL(ir_codes_behold_table);
2465 2261
2466/* Beholder Intl. Ltd. 2008 2262/* Beholder Intl. Ltd. 2008
2467 * Dmitry Belimov d.belimov@google.com 2263 * Dmitry Belimov d.belimov@google.com
@@ -2531,12 +2327,7 @@ static struct ir_scancode ir_codes_behold_columbus[] = {
2531 { 0x1A, KEY_NEXT }, 2327 { 0x1A, KEY_NEXT },
2532 2328
2533}; 2329};
2534 2330IR_TABLE(behold_columbus, IR_TYPE_UNKNOWN, ir_codes_behold_columbus);
2535struct ir_scancode_table ir_codes_behold_columbus_table = {
2536 .scan = ir_codes_behold_columbus,
2537 .size = ARRAY_SIZE(ir_codes_behold_columbus),
2538};
2539EXPORT_SYMBOL_GPL(ir_codes_behold_columbus_table);
2540 2331
2541/* 2332/*
2542 * Remote control for the Genius TVGO A11MCE 2333 * Remote control for the Genius TVGO A11MCE
@@ -2582,12 +2373,7 @@ static struct ir_scancode ir_codes_genius_tvgo_a11mce[] = {
2582 { 0x13, KEY_YELLOW }, 2373 { 0x13, KEY_YELLOW },
2583 { 0x50, KEY_BLUE }, 2374 { 0x50, KEY_BLUE },
2584}; 2375};
2585 2376IR_TABLE(genius_tvgo_a11mce, IR_TYPE_UNKNOWN, ir_codes_genius_tvgo_a11mce);
2586struct ir_scancode_table ir_codes_genius_tvgo_a11mce_table = {
2587 .scan = ir_codes_genius_tvgo_a11mce,
2588 .size = ARRAY_SIZE(ir_codes_genius_tvgo_a11mce),
2589};
2590EXPORT_SYMBOL_GPL(ir_codes_genius_tvgo_a11mce_table);
2591 2377
2592/* 2378/*
2593 * Remote control for Powercolor Real Angel 330 2379 * Remote control for Powercolor Real Angel 330
@@ -2630,12 +2416,7 @@ static struct ir_scancode ir_codes_powercolor_real_angel[] = {
2630 { 0x14, KEY_RADIO }, /* FM radio */ 2416 { 0x14, KEY_RADIO }, /* FM radio */
2631 { 0x25, KEY_POWER }, /* power */ 2417 { 0x25, KEY_POWER }, /* power */
2632}; 2418};
2633 2419IR_TABLE(powercolor_real_angel, IR_TYPE_UNKNOWN, ir_codes_powercolor_real_angel);
2634struct ir_scancode_table ir_codes_powercolor_real_angel_table = {
2635 .scan = ir_codes_powercolor_real_angel,
2636 .size = ARRAY_SIZE(ir_codes_powercolor_real_angel),
2637};
2638EXPORT_SYMBOL_GPL(ir_codes_powercolor_real_angel_table);
2639 2420
2640/* Kworld Plus TV Analog Lite PCI IR 2421/* Kworld Plus TV Analog Lite PCI IR
2641 Mauro Carvalho Chehab <mchehab@infradead.org> 2422 Mauro Carvalho Chehab <mchehab@infradead.org>
@@ -2696,11 +2477,7 @@ static struct ir_scancode ir_codes_kworld_plus_tv_analog[] = {
2696 { 0x18, KEY_RED}, /* B */ 2477 { 0x18, KEY_RED}, /* B */
2697 { 0x23, KEY_GREEN}, /* C */ 2478 { 0x23, KEY_GREEN}, /* C */
2698}; 2479};
2699struct ir_scancode_table ir_codes_kworld_plus_tv_analog_table = { 2480IR_TABLE(kworld_plus_tv_analog, IR_TYPE_UNKNOWN, ir_codes_kworld_plus_tv_analog);
2700 .scan = ir_codes_kworld_plus_tv_analog,
2701 .size = ARRAY_SIZE(ir_codes_kworld_plus_tv_analog),
2702};
2703EXPORT_SYMBOL_GPL(ir_codes_kworld_plus_tv_analog_table);
2704 2481
2705/* Kaiomy TVnPC U2 2482/* Kaiomy TVnPC U2
2706 Mauro Carvalho Chehab <mchehab@infradead.org> 2483 Mauro Carvalho Chehab <mchehab@infradead.org>
@@ -2749,11 +2526,7 @@ static struct ir_scancode ir_codes_kaiomy[] = {
2749 { 0x1e, KEY_YELLOW}, 2526 { 0x1e, KEY_YELLOW},
2750 { 0x1f, KEY_BLUE}, 2527 { 0x1f, KEY_BLUE},
2751}; 2528};
2752struct ir_scancode_table ir_codes_kaiomy_table = { 2529IR_TABLE(kaiomy, IR_TYPE_UNKNOWN, ir_codes_kaiomy);
2753 .scan = ir_codes_kaiomy,
2754 .size = ARRAY_SIZE(ir_codes_kaiomy),
2755};
2756EXPORT_SYMBOL_GPL(ir_codes_kaiomy_table);
2757 2530
2758static struct ir_scancode ir_codes_avermedia_a16d[] = { 2531static struct ir_scancode ir_codes_avermedia_a16d[] = {
2759 { 0x20, KEY_LIST}, 2532 { 0x20, KEY_LIST},
@@ -2791,11 +2564,7 @@ static struct ir_scancode ir_codes_avermedia_a16d[] = {
2791 { 0x08, KEY_EPG}, 2564 { 0x08, KEY_EPG},
2792 { 0x2a, KEY_MENU}, 2565 { 0x2a, KEY_MENU},
2793}; 2566};
2794struct ir_scancode_table ir_codes_avermedia_a16d_table = { 2567IR_TABLE(avermedia_a16d, IR_TYPE_UNKNOWN, ir_codes_avermedia_a16d);
2795 .scan = ir_codes_avermedia_a16d,
2796 .size = ARRAY_SIZE(ir_codes_avermedia_a16d),
2797};
2798EXPORT_SYMBOL_GPL(ir_codes_avermedia_a16d_table);
2799 2568
2800/* Encore ENLTV-FM v5.3 2569/* Encore ENLTV-FM v5.3
2801 Mauro Carvalho Chehab <mchehab@infradead.org> 2570 Mauro Carvalho Chehab <mchehab@infradead.org>
@@ -2838,11 +2607,7 @@ static struct ir_scancode ir_codes_encore_enltv_fm53[] = {
2838 { 0x0c, KEY_ZOOM}, /* hide pannel */ 2607 { 0x0c, KEY_ZOOM}, /* hide pannel */
2839 { 0x47, KEY_SLEEP}, /* shutdown */ 2608 { 0x47, KEY_SLEEP}, /* shutdown */
2840}; 2609};
2841struct ir_scancode_table ir_codes_encore_enltv_fm53_table = { 2610IR_TABLE(encore_enltv_fm53, IR_TYPE_UNKNOWN, ir_codes_encore_enltv_fm53);
2842 .scan = ir_codes_encore_enltv_fm53,
2843 .size = ARRAY_SIZE(ir_codes_encore_enltv_fm53),
2844};
2845EXPORT_SYMBOL_GPL(ir_codes_encore_enltv_fm53_table);
2846 2611
2847/* Zogis Real Audio 220 - 32 keys IR */ 2612/* Zogis Real Audio 220 - 32 keys IR */
2848static struct ir_scancode ir_codes_real_audio_220_32_keys[] = { 2613static struct ir_scancode ir_codes_real_audio_220_32_keys[] = {
@@ -2882,11 +2647,7 @@ static struct ir_scancode ir_codes_real_audio_220_32_keys[] = {
2882 { 0x19, KEY_CAMERA}, /* Snapshot */ 2647 { 0x19, KEY_CAMERA}, /* Snapshot */
2883 2648
2884}; 2649};
2885struct ir_scancode_table ir_codes_real_audio_220_32_keys_table = { 2650IR_TABLE(real_audio_220_32_keys, IR_TYPE_UNKNOWN, ir_codes_real_audio_220_32_keys);
2886 .scan = ir_codes_real_audio_220_32_keys,
2887 .size = ARRAY_SIZE(ir_codes_real_audio_220_32_keys),
2888};
2889EXPORT_SYMBOL_GPL(ir_codes_real_audio_220_32_keys_table);
2890 2651
2891/* ATI TV Wonder HD 600 USB 2652/* ATI TV Wonder HD 600 USB
2892 Devin Heitmueller <devin.heitmueller@gmail.com> 2653 Devin Heitmueller <devin.heitmueller@gmail.com>
@@ -2917,11 +2678,7 @@ static struct ir_scancode ir_codes_ati_tv_wonder_hd_600[] = {
2917 { 0x16, KEY_MUTE}, 2678 { 0x16, KEY_MUTE},
2918 { 0x17, KEY_VOLUMEDOWN}, 2679 { 0x17, KEY_VOLUMEDOWN},
2919}; 2680};
2920struct ir_scancode_table ir_codes_ati_tv_wonder_hd_600_table = { 2681IR_TABLE(ati_tv_wonder_hd_600, IR_TYPE_UNKNOWN, ir_codes_ati_tv_wonder_hd_600);
2921 .scan = ir_codes_ati_tv_wonder_hd_600,
2922 .size = ARRAY_SIZE(ir_codes_ati_tv_wonder_hd_600),
2923};
2924EXPORT_SYMBOL_GPL(ir_codes_ati_tv_wonder_hd_600_table);
2925 2682
2926/* DVBWorld remotes 2683/* DVBWorld remotes
2927 Igor M. Liplianin <liplianin@me.by> 2684 Igor M. Liplianin <liplianin@me.by>
@@ -2959,11 +2716,7 @@ static struct ir_scancode ir_codes_dm1105_nec[] = {
2959 { 0x1e, KEY_TV}, /* tvmode */ 2716 { 0x1e, KEY_TV}, /* tvmode */
2960 { 0x1b, KEY_B}, /* recall */ 2717 { 0x1b, KEY_B}, /* recall */
2961}; 2718};
2962struct ir_scancode_table ir_codes_dm1105_nec_table = { 2719IR_TABLE(dm1105_nec, IR_TYPE_UNKNOWN, ir_codes_dm1105_nec);
2963 .scan = ir_codes_dm1105_nec,
2964 .size = ARRAY_SIZE(ir_codes_dm1105_nec),
2965};
2966EXPORT_SYMBOL_GPL(ir_codes_dm1105_nec_table);
2967 2720
2968static struct ir_scancode ir_codes_tevii_nec[] = { 2721static struct ir_scancode ir_codes_tevii_nec[] = {
2969 { 0x0a, KEY_POWER2}, 2722 { 0x0a, KEY_POWER2},
@@ -3014,11 +2767,7 @@ static struct ir_scancode ir_codes_tevii_nec[] = {
3014 { 0x56, KEY_MODE}, 2767 { 0x56, KEY_MODE},
3015 { 0x58, KEY_SWITCHVIDEOMODE}, 2768 { 0x58, KEY_SWITCHVIDEOMODE},
3016}; 2769};
3017struct ir_scancode_table ir_codes_tevii_nec_table = { 2770IR_TABLE(tevii_nec, IR_TYPE_UNKNOWN, ir_codes_tevii_nec);
3018 .scan = ir_codes_tevii_nec,
3019 .size = ARRAY_SIZE(ir_codes_tevii_nec),
3020};
3021EXPORT_SYMBOL_GPL(ir_codes_tevii_nec_table);
3022 2771
3023static struct ir_scancode ir_codes_tbs_nec[] = { 2772static struct ir_scancode ir_codes_tbs_nec[] = {
3024 { 0x04, KEY_POWER2}, /*power*/ 2773 { 0x04, KEY_POWER2}, /*power*/
@@ -3054,11 +2803,7 @@ static struct ir_scancode ir_codes_tbs_nec[] = {
3054 { 0x00, KEY_PREVIOUS}, 2803 { 0x00, KEY_PREVIOUS},
3055 { 0x1b, KEY_MODE}, 2804 { 0x1b, KEY_MODE},
3056}; 2805};
3057struct ir_scancode_table ir_codes_tbs_nec_table = { 2806IR_TABLE(tbs_nec, IR_TYPE_UNKNOWN, ir_codes_tbs_nec);
3058 .scan = ir_codes_tbs_nec,
3059 .size = ARRAY_SIZE(ir_codes_tbs_nec),
3060};
3061EXPORT_SYMBOL_GPL(ir_codes_tbs_nec_table);
3062 2807
3063/* Terratec Cinergy Hybrid T USB XS 2808/* Terratec Cinergy Hybrid T USB XS
3064 Devin Heitmueller <dheitmueller@linuxtv.org> 2809 Devin Heitmueller <dheitmueller@linuxtv.org>
@@ -3112,11 +2857,7 @@ static struct ir_scancode ir_codes_terratec_cinergy_xs[] = {
3112 { 0x4f, KEY_FASTFORWARD}, 2857 { 0x4f, KEY_FASTFORWARD},
3113 { 0x5c, KEY_NEXT}, 2858 { 0x5c, KEY_NEXT},
3114}; 2859};
3115struct ir_scancode_table ir_codes_terratec_cinergy_xs_table = { 2860IR_TABLE(terratec_cinergy_xs, IR_TYPE_UNKNOWN, ir_codes_terratec_cinergy_xs);
3116 .scan = ir_codes_terratec_cinergy_xs,
3117 .size = ARRAY_SIZE(ir_codes_terratec_cinergy_xs),
3118};
3119EXPORT_SYMBOL_GPL(ir_codes_terratec_cinergy_xs_table);
3120 2861
3121/* EVGA inDtube 2862/* EVGA inDtube
3122 Devin Heitmueller <devin.heitmueller@gmail.com> 2863 Devin Heitmueller <devin.heitmueller@gmail.com>
@@ -3139,11 +2880,7 @@ static struct ir_scancode ir_codes_evga_indtube[] = {
3139 { 0x1f, KEY_NEXT}, 2880 { 0x1f, KEY_NEXT},
3140 { 0x13, KEY_CAMERA}, 2881 { 0x13, KEY_CAMERA},
3141}; 2882};
3142struct ir_scancode_table ir_codes_evga_indtube_table = { 2883IR_TABLE(evga_indtube, IR_TYPE_UNKNOWN, ir_codes_evga_indtube);
3143 .scan = ir_codes_evga_indtube,
3144 .size = ARRAY_SIZE(ir_codes_evga_indtube),
3145};
3146EXPORT_SYMBOL_GPL(ir_codes_evga_indtube_table);
3147 2884
3148static struct ir_scancode ir_codes_videomate_s350[] = { 2885static struct ir_scancode ir_codes_videomate_s350[] = {
3149 { 0x00, KEY_TV}, 2886 { 0x00, KEY_TV},
@@ -3191,11 +2928,7 @@ static struct ir_scancode ir_codes_videomate_s350[] = {
3191 { 0x11, KEY_ENTER}, 2928 { 0x11, KEY_ENTER},
3192 { 0x20, KEY_TEXT}, 2929 { 0x20, KEY_TEXT},
3193}; 2930};
3194struct ir_scancode_table ir_codes_videomate_s350_table = { 2931IR_TABLE(videomate_s350, IR_TYPE_UNKNOWN, ir_codes_videomate_s350);
3195 .scan = ir_codes_videomate_s350,
3196 .size = ARRAY_SIZE(ir_codes_videomate_s350),
3197};
3198EXPORT_SYMBOL_GPL(ir_codes_videomate_s350_table);
3199 2932
3200/* GADMEI UTV330+ RM008Z remote 2933/* GADMEI UTV330+ RM008Z remote
3201 Shine Liu <shinel@foxmail.com> 2934 Shine Liu <shinel@foxmail.com>
@@ -3238,11 +2971,7 @@ static struct ir_scancode ir_codes_gadmei_rm008z[] = {
3238 { 0x13, KEY_CHANNELDOWN}, /* CHANNELDOWN */ 2971 { 0x13, KEY_CHANNELDOWN}, /* CHANNELDOWN */
3239 { 0x15, KEY_ENTER}, /* OK */ 2972 { 0x15, KEY_ENTER}, /* OK */
3240}; 2973};
3241struct ir_scancode_table ir_codes_gadmei_rm008z_table = { 2974IR_TABLE(gadmei_rm008z, IR_TYPE_UNKNOWN, ir_codes_gadmei_rm008z);
3242 .scan = ir_codes_gadmei_rm008z,
3243 .size = ARRAY_SIZE(ir_codes_gadmei_rm008z),
3244};
3245EXPORT_SYMBOL_GPL(ir_codes_gadmei_rm008z_table);
3246 2975
3247/************************************************************* 2976/*************************************************************
3248 * COMPLETE SCANCODE TABLES 2977 * COMPLETE SCANCODE TABLES
@@ -3313,13 +3042,7 @@ static struct ir_scancode ir_codes_rc5_hauppauge_new[] = {
3313 { 0x1e3c, KEY_ZOOM }, /* full */ 3042 { 0x1e3c, KEY_ZOOM }, /* full */
3314 { 0x1e3d, KEY_POWER }, /* system power (green button) */ 3043 { 0x1e3d, KEY_POWER }, /* system power (green button) */
3315}; 3044};
3316 3045IR_TABLE(rc5_hauppauge_new, IR_TYPE_RC5, ir_codes_rc5_hauppauge_new);
3317struct ir_scancode_table ir_codes_rc5_hauppauge_new_table = {
3318 .scan = ir_codes_rc5_hauppauge_new,
3319 .size = ARRAY_SIZE(ir_codes_rc5_hauppauge_new),
3320 .ir_type = IR_TYPE_RC5,
3321};
3322EXPORT_SYMBOL_GPL(ir_codes_rc5_hauppauge_new_table);
3323 3046
3324/* Terratec Cinergy Hybrid T USB XS FM 3047/* Terratec Cinergy Hybrid T USB XS FM
3325 Mauro Carvalho Chehab <mchehab@redhat.com> 3048 Mauro Carvalho Chehab <mchehab@redhat.com>
@@ -3386,13 +3109,7 @@ static struct ir_scancode ir_codes_nec_terratec_cinergy_xs[] = {
3386 { 0x144f, KEY_FASTFORWARD}, 3109 { 0x144f, KEY_FASTFORWARD},
3387 { 0x145c, KEY_NEXT}, 3110 { 0x145c, KEY_NEXT},
3388}; 3111};
3389struct ir_scancode_table ir_codes_nec_terratec_cinergy_xs_table = { 3112IR_TABLE(nec_terratec_cinergy_xs, IR_TYPE_NEC, ir_codes_nec_terratec_cinergy_xs);
3390 .scan = ir_codes_nec_terratec_cinergy_xs,
3391 .size = ARRAY_SIZE(ir_codes_nec_terratec_cinergy_xs),
3392 .ir_type = IR_TYPE_NEC,
3393};
3394EXPORT_SYMBOL_GPL(ir_codes_nec_terratec_cinergy_xs_table);
3395
3396 3113
3397/* Leadtek Winfast TV USB II Deluxe remote 3114/* Leadtek Winfast TV USB II Deluxe remote
3398 Magnus Alm <magnus.alm@gmail.com> 3115 Magnus Alm <magnus.alm@gmail.com>
@@ -3436,11 +3153,7 @@ static struct ir_scancode ir_codes_winfast_usbii_deluxe[] = {
3436 { 0x63, KEY_ENTER}, /* ENTER */ 3153 { 0x63, KEY_ENTER}, /* ENTER */
3437 3154
3438}; 3155};
3439struct ir_scancode_table ir_codes_winfast_usbii_deluxe_table = { 3156IR_TABLE(winfast_usbii_deluxe, IR_TYPE_UNKNOWN, ir_codes_winfast_usbii_deluxe);
3440 .scan = ir_codes_winfast_usbii_deluxe,
3441 .size = ARRAY_SIZE(ir_codes_winfast_usbii_deluxe),
3442};
3443EXPORT_SYMBOL_GPL(ir_codes_winfast_usbii_deluxe_table);
3444 3157
3445/* Kworld 315U 3158/* Kworld 315U
3446 */ 3159 */
@@ -3485,10 +3198,4 @@ static struct ir_scancode ir_codes_kworld_315u[] = {
3485 { 0x611e, KEY_YELLOW }, 3198 { 0x611e, KEY_YELLOW },
3486 { 0x611f, KEY_BLUE }, 3199 { 0x611f, KEY_BLUE },
3487}; 3200};
3488 3201IR_TABLE(kworld_315u, IR_TYPE_NEC, ir_codes_kworld_315u);
3489struct ir_scancode_table ir_codes_kworld_315u_table = {
3490 .scan = ir_codes_kworld_315u,
3491 .size = ARRAY_SIZE(ir_codes_kworld_315u),
3492 .ir_type = IR_TYPE_NEC,
3493};
3494EXPORT_SYMBOL_GPL(ir_codes_kworld_315u_table);