]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - include/media/rc-map.h
V4L/DVB: ir-core: Add Sony support to ir-core
[net-next-2.6.git] / include / media / rc-map.h
index 9ea0033fa3cc7769f821eb48cf66bf7801ea53dc..280d1ed9a9a01fa4fc22ef023a5becc5a28ecfef 100644 (file)
@@ -9,7 +9,45 @@
  * (at your option) any later version.
  */
 
-#include <media/ir-core.h>
+#include <linux/input.h>
+
+#define IR_TYPE_UNKNOWN        0
+#define IR_TYPE_RC5    (1  << 0)       /* Philips RC5 protocol */
+#define IR_TYPE_PD     (1  << 1)       /* Pulse distance encoded IR */
+#define IR_TYPE_NEC    (1  << 2)
+#define IR_TYPE_RC6    (1  << 3)       /* Philips RC6 protocol */
+#define IR_TYPE_JVC    (1  << 4)       /* JVC protocol */
+#define IR_TYPE_SONY   (1  << 5)       /* Sony12/15/20 protocol */
+#define IR_TYPE_OTHER  (1u << 31)
+
+struct ir_scancode {
+       u32     scancode;
+       u32     keycode;
+};
+
+struct ir_scancode_table {
+       struct ir_scancode      *scan;
+       unsigned int            size;   /* Max number of entries */
+       unsigned int            len;    /* Used number of entries */
+       unsigned int            alloc;  /* Size of *scan in bytes */
+       u64                     ir_type;
+       char                    *name;
+       spinlock_t              lock;
+};
+
+struct rc_keymap {
+       struct list_head         list;
+       struct ir_scancode_table map;
+};
+
+/* Routines from rc-map.c */
+
+int ir_register_map(struct rc_keymap *map);
+void ir_unregister_map(struct rc_keymap *map);
+struct ir_scancode_table *get_rc_map(const char *name);
+void rc_map_init(void);
+
+/* Names of the several keytables defined in-kernel */
 
 #define RC_MAP_ADSTECH_DVB_T_PCI         "rc-adstech-dvb-t-pci"
 #define RC_MAP_APAC_VIEWCOMP             "rc-apac-viewcomp"
@@ -43,6 +81,8 @@
 #define RC_MAP_GENIUS_TVGO_A11MCE        "rc-genius-tvgo-a11mce"
 #define RC_MAP_GOTVIEW7135               "rc-gotview7135"
 #define RC_MAP_HAUPPAUGE_NEW             "rc-hauppauge-new"
+#define RC_MAP_IMON_MCE                  "rc-imon-mce"
+#define RC_MAP_IMON_PAD                  "rc-imon-pad"
 #define RC_MAP_IODATA_BCTV7E             "rc-iodata-bctv7e"
 #define RC_MAP_KAIOMY                    "rc-kaiomy"
 #define RC_MAP_KWORLD_315U               "rc-kworld-315u"
 #define RC_MAP_PINNACLE_PCTV_HD          "rc-pinnacle-pctv-hd"
 #define RC_MAP_PIXELVIEW_NEW             "rc-pixelview-new"
 #define RC_MAP_PIXELVIEW                 "rc-pixelview"
+#define RC_MAP_PIXELVIEW_MK12            "rc-pixelview-mk12"
 #define RC_MAP_POWERCOLOR_REAL_ANGEL     "rc-powercolor-real-angel"
 #define RC_MAP_PROTEUS_2309              "rc-proteus-2309"
 #define RC_MAP_PURPLETV                  "rc-purpletv"