]> Pileus Git - ~andy/linux/blobdiff - include/media/ir-kbd-i2c.h
Merge branch 'master' of /pub/scm/linux/kernel/git/jejb/scsi-post-merge-2.6 into...
[~andy/linux] / include / media / ir-kbd-i2c.h
index 5e96d7a430be8a2ce6327b72aa1b09e17f9b306f..768aa77925cd952049cff78ae1c6ff8116369d90 100644 (file)
@@ -1,20 +1,22 @@
 #ifndef _IR_I2C
 #define _IR_I2C
 
-#include <media/ir-common.h>
+#include <media/rc-core.h>
+
+#define DEFAULT_POLLING_INTERVAL       100     /* ms */
 
 struct IR_i2c;
 
 struct IR_i2c {
        char                   *ir_codes;
-
        struct i2c_client      *c;
-       struct input_dev       *input;
-       struct ir_input_state  ir;
-       u64                    ir_type;
+       struct rc_dev          *rc;
+
        /* Used to avoid fast repeating */
        unsigned char          old;
 
+       u32                    polling_interval; /* in ms */
+
        struct delayed_work    work;
        char                   name[32];
        char                   phys[32];
@@ -24,7 +26,6 @@ struct IR_i2c {
 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,
@@ -35,13 +36,17 @@ enum ir_kbd_get_key_fn {
 /* Can be passed when instantiating an ir_video i2c device */
 struct IR_i2c_init_data {
        char                    *ir_codes;
-       const char             *name;
-       u64          type; /* IR_TYPE_RC5, etc */
+       const char              *name;
+       u64                     type; /* RC_TYPE_RC5, etc */
+       u32                     polling_interval; /* 0 means DEFAULT_POLLING_INTERVAL */
+
        /*
         * 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;
+
+       struct rc_dev           *rc_dev;
 };
 #endif