]> Pileus Git - ~andy/linux/blobdiff - include/media/ir-kbd-i2c.h
perf/probes: Improve error messages
[~andy/linux] / include / media / ir-kbd-i2c.h
index 3ad4ed5402fb8b6782ad6b1600f8dfdfd4394ea1..aaf65e8b1a40a57697eed7f261e8778d1638fe19 100644 (file)
@@ -6,7 +6,8 @@
 struct IR_i2c;
 
 struct IR_i2c {
-       IR_KEYTAB_TYPE         *ir_codes;
+       struct ir_scancode_table *ir_codes;
+
        struct i2c_client      *c;
        struct input_dev       *input;
        struct ir_input_state  ir;
@@ -20,10 +21,27 @@ struct IR_i2c {
        int                    (*get_key)(struct IR_i2c*, u32*, u32*);
 };
 
+enum ir_kbd_get_key_fn {
+       IR_KBD_GET_KEY_CUSTOM = 0,
+       IR_KBD_GET_KEY_PIXELVIEW,
+       IR_KBD_GET_KEY_PV951,
+       IR_KBD_GET_KEY_HAUP,
+       IR_KBD_GET_KEY_KNC1,
+       IR_KBD_GET_KEY_FUSIONHDTV,
+       IR_KBD_GET_KEY_HAUP_XVR,
+       IR_KBD_GET_KEY_AVERMEDIA_CARDBUS,
+};
+
 /* Can be passed when instantiating an ir_video i2c device */
 struct IR_i2c_init_data {
-       IR_KEYTAB_TYPE         *ir_codes;
+       struct ir_scancode_table *ir_codes;
        const char             *name;
+       int                    type; /* IR_TYPE_RC5, IR_TYPE_PD, etc */
+       /*
+        * Specify either a function pointer or a value indicating one of
+        * ir_kbd_i2c's internal get_key functions
+        */
        int                    (*get_key)(struct IR_i2c*, u32*, u32*);
+       enum ir_kbd_get_key_fn internal_get_key_func;
 };
 #endif