diff options
Diffstat (limited to 'include/media/rc-map.h')
| -rw-r--r-- | include/media/rc-map.h | 64 |
1 files changed, 48 insertions, 16 deletions
diff --git a/include/media/rc-map.h b/include/media/rc-map.h index cfd5163ff7f3..74f55a3f14eb 100644 --- a/include/media/rc-map.h +++ b/include/media/rc-map.h | |||
| @@ -11,22 +11,54 @@ | |||
| 11 | 11 | ||
| 12 | #include <linux/input.h> | 12 | #include <linux/input.h> |
| 13 | 13 | ||
| 14 | #define RC_TYPE_UNKNOWN 0 | 14 | enum rc_type { |
| 15 | #define RC_TYPE_RC5 (1 << 0) /* Philips RC5 protocol */ | 15 | RC_TYPE_UNKNOWN = 0, /* Protocol not known */ |
| 16 | #define RC_TYPE_NEC (1 << 1) | 16 | RC_TYPE_OTHER = 1, /* Protocol known but proprietary */ |
| 17 | #define RC_TYPE_RC6 (1 << 2) /* Philips RC6 protocol */ | 17 | RC_TYPE_LIRC = 2, /* Pass raw IR to lirc userspace */ |
| 18 | #define RC_TYPE_JVC (1 << 3) /* JVC protocol */ | 18 | RC_TYPE_RC5 = 3, /* Philips RC5 protocol */ |
| 19 | #define RC_TYPE_SONY (1 << 4) /* Sony12/15/20 protocol */ | 19 | RC_TYPE_RC5X = 4, /* Philips RC5x protocol */ |
| 20 | #define RC_TYPE_RC5_SZ (1 << 5) /* RC5 variant used by Streamzap */ | 20 | RC_TYPE_RC5_SZ = 5, /* StreamZap variant of RC5 */ |
| 21 | #define RC_TYPE_SANYO (1 << 6) /* Sanyo protocol */ | 21 | RC_TYPE_JVC = 6, /* JVC protocol */ |
| 22 | #define RC_TYPE_MCE_KBD (1 << 29) /* RC6-ish MCE keyboard/mouse */ | 22 | RC_TYPE_SONY12 = 7, /* Sony 12 bit protocol */ |
| 23 | #define RC_TYPE_LIRC (1 << 30) /* Pass raw IR to lirc userspace */ | 23 | RC_TYPE_SONY15 = 8, /* Sony 15 bit protocol */ |
| 24 | #define RC_TYPE_OTHER (1u << 31) | 24 | RC_TYPE_SONY20 = 9, /* Sony 20 bit protocol */ |
| 25 | RC_TYPE_NEC = 10, /* NEC protocol */ | ||
| 26 | RC_TYPE_SANYO = 11, /* Sanyo protocol */ | ||
| 27 | RC_TYPE_MCE_KBD = 12, /* RC6-ish MCE keyboard/mouse */ | ||
| 28 | RC_TYPE_RC6_0 = 13, /* Philips RC6-0-16 protocol */ | ||
| 29 | RC_TYPE_RC6_6A_20 = 14, /* Philips RC6-6A-20 protocol */ | ||
| 30 | RC_TYPE_RC6_6A_24 = 15, /* Philips RC6-6A-24 protocol */ | ||
| 31 | RC_TYPE_RC6_6A_32 = 16, /* Philips RC6-6A-32 protocol */ | ||
| 32 | RC_TYPE_RC6_MCE = 17, /* MCE (Philips RC6-6A-32 subtype) protocol */ | ||
| 33 | }; | ||
| 34 | |||
| 35 | #define RC_BIT_NONE 0 | ||
| 36 | #define RC_BIT_UNKNOWN (1 << RC_TYPE_UNKNOWN) | ||
| 37 | #define RC_BIT_OTHER (1 << RC_TYPE_OTHER) | ||
| 38 | #define RC_BIT_LIRC (1 << RC_TYPE_LIRC) | ||
| 39 | #define RC_BIT_RC5 (1 << RC_TYPE_RC5) | ||
| 40 | #define RC_BIT_RC5X (1 << RC_TYPE_RC5X) | ||
| 41 | #define RC_BIT_RC5_SZ (1 << RC_TYPE_RC5_SZ) | ||
| 42 | #define RC_BIT_JVC (1 << RC_TYPE_JVC) | ||
| 43 | #define RC_BIT_SONY12 (1 << RC_TYPE_SONY12) | ||
| 44 | #define RC_BIT_SONY15 (1 << RC_TYPE_SONY15) | ||
| 45 | #define RC_BIT_SONY20 (1 << RC_TYPE_SONY20) | ||
| 46 | #define RC_BIT_NEC (1 << RC_TYPE_NEC) | ||
| 47 | #define RC_BIT_SANYO (1 << RC_TYPE_SANYO) | ||
| 48 | #define RC_BIT_MCE_KBD (1 << RC_TYPE_MCE_KBD) | ||
| 49 | #define RC_BIT_RC6_0 (1 << RC_TYPE_RC6_0) | ||
| 50 | #define RC_BIT_RC6_6A_20 (1 << RC_TYPE_RC6_6A_20) | ||
| 51 | #define RC_BIT_RC6_6A_24 (1 << RC_TYPE_RC6_6A_24) | ||
| 52 | #define RC_BIT_RC6_6A_32 (1 << RC_TYPE_RC6_6A_32) | ||
| 53 | #define RC_BIT_RC6_MCE (1 << RC_TYPE_RC6_MCE) | ||
| 25 | 54 | ||
| 26 | #define RC_TYPE_ALL (RC_TYPE_RC5 | RC_TYPE_NEC | RC_TYPE_RC6 | \ | 55 | #define RC_BIT_ALL (RC_BIT_UNKNOWN | RC_BIT_OTHER | RC_BIT_LIRC | \ |
| 27 | RC_TYPE_JVC | RC_TYPE_SONY | RC_TYPE_LIRC | \ | 56 | RC_BIT_RC5 | RC_BIT_RC5X | RC_BIT_RC5_SZ | \ |
| 28 | RC_TYPE_RC5_SZ | RC_TYPE_SANYO | RC_TYPE_MCE_KBD | \ | 57 | RC_BIT_JVC | \ |
| 29 | RC_TYPE_OTHER) | 58 | RC_BIT_SONY12 | RC_BIT_SONY15 | RC_BIT_SONY20 | \ |
| 59 | RC_BIT_NEC | RC_BIT_SANYO | RC_BIT_MCE_KBD | \ | ||
| 60 | RC_BIT_RC6_0 | RC_BIT_RC6_6A_20 | RC_BIT_RC6_6A_24 | \ | ||
| 61 | RC_BIT_RC6_6A_32 | RC_BIT_RC6_MCE) | ||
| 30 | 62 | ||
| 31 | struct rc_map_table { | 63 | struct rc_map_table { |
| 32 | u32 scancode; | 64 | u32 scancode; |
| @@ -38,7 +70,7 @@ struct rc_map { | |||
| 38 | unsigned int size; /* Max number of entries */ | 70 | unsigned int size; /* Max number of entries */ |
| 39 | unsigned int len; /* Used number of entries */ | 71 | unsigned int len; /* Used number of entries */ |
| 40 | unsigned int alloc; /* Size of *scan in bytes */ | 72 | unsigned int alloc; /* Size of *scan in bytes */ |
| 41 | u64 rc_type; | 73 | enum rc_type rc_type; |
| 42 | const char *name; | 74 | const char *name; |
| 43 | spinlock_t lock; | 75 | spinlock_t lock; |
| 44 | }; | 76 | }; |
