116216333SThomas Gleixner // SPDX-License-Identifier: GPL-2.0-or-later 232cf86f6SMauro Carvalho Chehab /* 332cf86f6SMauro Carvalho Chehab * TrekStor remote controller keytable 432cf86f6SMauro Carvalho Chehab * 532cf86f6SMauro Carvalho Chehab * Copyright (C) 2010 Antti Palosaari <crope@iki.fi> 632cf86f6SMauro Carvalho Chehab */ 732cf86f6SMauro Carvalho Chehab 832cf86f6SMauro Carvalho Chehab #include <media/rc-map.h> 97a707b89SPaul Gortmaker #include <linux/module.h> 1032cf86f6SMauro Carvalho Chehab 1132cf86f6SMauro Carvalho Chehab /* TrekStor DVB-T USB Stick remote controller. */ 1232cf86f6SMauro Carvalho Chehab /* Imported from af9015.h. 1332cf86f6SMauro Carvalho Chehab Initial keytable was from Marc Schneider <macke@macke.org> */ 142f4f58d6SMauro Carvalho Chehab static struct rc_map_table trekstor[] = { 1532cf86f6SMauro Carvalho Chehab { 0x0084, KEY_0 }, 1632cf86f6SMauro Carvalho Chehab { 0x0085, KEY_MUTE }, /* Mute */ 1732cf86f6SMauro Carvalho Chehab { 0x0086, KEY_HOMEPAGE }, /* Home */ 1832cf86f6SMauro Carvalho Chehab { 0x0087, KEY_UP }, /* Up */ 1932cf86f6SMauro Carvalho Chehab { 0x0088, KEY_OK }, /* OK */ 2032cf86f6SMauro Carvalho Chehab { 0x0089, KEY_RIGHT }, /* Right */ 2132cf86f6SMauro Carvalho Chehab { 0x008a, KEY_FASTFORWARD }, /* Fast forward */ 2232cf86f6SMauro Carvalho Chehab { 0x008b, KEY_VOLUMEUP }, /* Volume + */ 2332cf86f6SMauro Carvalho Chehab { 0x008c, KEY_DOWN }, /* Down */ 2432cf86f6SMauro Carvalho Chehab { 0x008d, KEY_PLAY }, /* Play/Pause */ 2532cf86f6SMauro Carvalho Chehab { 0x008e, KEY_STOP }, /* Stop */ 2632cf86f6SMauro Carvalho Chehab { 0x008f, KEY_EPG }, /* Info/EPG */ 2732cf86f6SMauro Carvalho Chehab { 0x0090, KEY_7 }, 2832cf86f6SMauro Carvalho Chehab { 0x0091, KEY_4 }, 2932cf86f6SMauro Carvalho Chehab { 0x0092, KEY_1 }, 3032cf86f6SMauro Carvalho Chehab { 0x0093, KEY_CHANNELDOWN }, /* Channel - */ 3132cf86f6SMauro Carvalho Chehab { 0x0094, KEY_8 }, 3232cf86f6SMauro Carvalho Chehab { 0x0095, KEY_5 }, 3332cf86f6SMauro Carvalho Chehab { 0x0096, KEY_2 }, 3432cf86f6SMauro Carvalho Chehab { 0x0097, KEY_CHANNELUP }, /* Channel + */ 3532cf86f6SMauro Carvalho Chehab { 0x0098, KEY_9 }, 3632cf86f6SMauro Carvalho Chehab { 0x0099, KEY_6 }, 3732cf86f6SMauro Carvalho Chehab { 0x009a, KEY_3 }, 3832cf86f6SMauro Carvalho Chehab { 0x009b, KEY_VOLUMEDOWN }, /* Volume - */ 3932cf86f6SMauro Carvalho Chehab { 0x009c, KEY_TV }, /* TV */ 4032cf86f6SMauro Carvalho Chehab { 0x009d, KEY_RECORD }, /* Record */ 4132cf86f6SMauro Carvalho Chehab { 0x009e, KEY_REWIND }, /* Rewind */ 4232cf86f6SMauro Carvalho Chehab { 0x009f, KEY_LEFT }, /* Left */ 4332cf86f6SMauro Carvalho Chehab }; 4432cf86f6SMauro Carvalho Chehab 45d100e659SMauro Carvalho Chehab static struct rc_map_list trekstor_map = { 4632cf86f6SMauro Carvalho Chehab .map = { 4732cf86f6SMauro Carvalho Chehab .scan = trekstor, 4832cf86f6SMauro Carvalho Chehab .size = ARRAY_SIZE(trekstor), 496d741bfeSSean Young .rc_proto = RC_PROTO_NEC, 5032cf86f6SMauro Carvalho Chehab .name = RC_MAP_TREKSTOR, 5132cf86f6SMauro Carvalho Chehab } 5232cf86f6SMauro Carvalho Chehab }; 5332cf86f6SMauro Carvalho Chehab 5432cf86f6SMauro Carvalho Chehab static int __init init_rc_map_trekstor(void) 5532cf86f6SMauro Carvalho Chehab { 56d100e659SMauro Carvalho Chehab return rc_map_register(&trekstor_map); 5732cf86f6SMauro Carvalho Chehab } 5832cf86f6SMauro Carvalho Chehab 5932cf86f6SMauro Carvalho Chehab static void __exit exit_rc_map_trekstor(void) 6032cf86f6SMauro Carvalho Chehab { 61d100e659SMauro Carvalho Chehab rc_map_unregister(&trekstor_map); 6232cf86f6SMauro Carvalho Chehab } 6332cf86f6SMauro Carvalho Chehab 6432cf86f6SMauro Carvalho Chehab module_init(init_rc_map_trekstor) 6532cf86f6SMauro Carvalho Chehab module_exit(exit_rc_map_trekstor) 6632cf86f6SMauro Carvalho Chehab 6732cf86f6SMauro Carvalho Chehab MODULE_LICENSE("GPL"); 6832cf86f6SMauro Carvalho Chehab MODULE_AUTHOR("Antti Palosaari <crope@iki.fi>"); 69