1*3f9fcc4cSChristian Hewitt // SPDX-License-Identifier: GPL-2.0+
2*3f9fcc4cSChristian Hewitt //
3*3f9fcc4cSChristian Hewitt // Copyright (C) 2021 Christian Hewitt <christianshewitt@gmail.com>
4*3f9fcc4cSChristian Hewitt 
5*3f9fcc4cSChristian Hewitt #include <media/rc-map.h>
6*3f9fcc4cSChristian Hewitt #include <linux/module.h>
7*3f9fcc4cSChristian Hewitt 
8*3f9fcc4cSChristian Hewitt //
9*3f9fcc4cSChristian Hewitt // Keytable for the Minix NEO remote control
10*3f9fcc4cSChristian Hewitt //
11*3f9fcc4cSChristian Hewitt 
12*3f9fcc4cSChristian Hewitt static struct rc_map_table minix_neo[] = {
13*3f9fcc4cSChristian Hewitt 
14*3f9fcc4cSChristian Hewitt 	{ 0x118, KEY_POWER },
15*3f9fcc4cSChristian Hewitt 
16*3f9fcc4cSChristian Hewitt 	{ 0x146, KEY_UP },
17*3f9fcc4cSChristian Hewitt 	{ 0x116, KEY_DOWN },
18*3f9fcc4cSChristian Hewitt 	{ 0x147, KEY_LEFT },
19*3f9fcc4cSChristian Hewitt 	{ 0x115, KEY_RIGHT },
20*3f9fcc4cSChristian Hewitt 	{ 0x155, KEY_ENTER },
21*3f9fcc4cSChristian Hewitt 
22*3f9fcc4cSChristian Hewitt 	{ 0x110, KEY_VOLUMEDOWN },
23*3f9fcc4cSChristian Hewitt 	{ 0x140, KEY_BACK },
24*3f9fcc4cSChristian Hewitt 	{ 0x114, KEY_VOLUMEUP },
25*3f9fcc4cSChristian Hewitt 
26*3f9fcc4cSChristian Hewitt 	{ 0x10d, KEY_HOME },
27*3f9fcc4cSChristian Hewitt 	{ 0x104, KEY_MENU },
28*3f9fcc4cSChristian Hewitt 	{ 0x112, KEY_CONFIG },
29*3f9fcc4cSChristian Hewitt 
30*3f9fcc4cSChristian Hewitt };
31*3f9fcc4cSChristian Hewitt 
32*3f9fcc4cSChristian Hewitt static struct rc_map_list minix_neo_map = {
33*3f9fcc4cSChristian Hewitt 	.map = {
34*3f9fcc4cSChristian Hewitt 		.scan     = minix_neo,
35*3f9fcc4cSChristian Hewitt 		.size     = ARRAY_SIZE(minix_neo),
36*3f9fcc4cSChristian Hewitt 		.rc_proto = RC_PROTO_NEC,
37*3f9fcc4cSChristian Hewitt 		.name     = RC_MAP_MINIX_NEO,
38*3f9fcc4cSChristian Hewitt 	}
39*3f9fcc4cSChristian Hewitt };
40*3f9fcc4cSChristian Hewitt 
init_rc_map_minix_neo(void)41*3f9fcc4cSChristian Hewitt static int __init init_rc_map_minix_neo(void)
42*3f9fcc4cSChristian Hewitt {
43*3f9fcc4cSChristian Hewitt 	return rc_map_register(&minix_neo_map);
44*3f9fcc4cSChristian Hewitt }
45*3f9fcc4cSChristian Hewitt 
exit_rc_map_minix_neo(void)46*3f9fcc4cSChristian Hewitt static void __exit exit_rc_map_minix_neo(void)
47*3f9fcc4cSChristian Hewitt {
48*3f9fcc4cSChristian Hewitt 	rc_map_unregister(&minix_neo_map);
49*3f9fcc4cSChristian Hewitt }
50*3f9fcc4cSChristian Hewitt 
51*3f9fcc4cSChristian Hewitt module_init(init_rc_map_minix_neo)
52*3f9fcc4cSChristian Hewitt module_exit(exit_rc_map_minix_neo)
53*3f9fcc4cSChristian Hewitt 
54*3f9fcc4cSChristian Hewitt MODULE_LICENSE("GPL");
55*3f9fcc4cSChristian Hewitt MODULE_AUTHOR("Christian Hewitt <christianshewitt@gmail.com");
56