diff options
Diffstat (limited to 'include/media/ir-kbd-i2c.h')
| -rw-r--r-- | include/media/ir-kbd-i2c.h | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/include/media/ir-kbd-i2c.h b/include/media/ir-kbd-i2c.h index aaf65e8b1a4..e221bc74020 100644 --- a/include/media/ir-kbd-i2c.h +++ b/include/media/ir-kbd-i2c.h @@ -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 { - struct ir_scancode_table *ir_codes; - + char *ir_codes; struct i2c_client *c; - struct input_dev *input; - struct ir_input_state ir; + 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, @@ -34,14 +35,18 @@ enum ir_kbd_get_key_fn { /* Can be passed when instantiating an ir_video i2c device */ struct IR_i2c_init_data { - struct ir_scancode_table *ir_codes; - const char *name; - int type; /* IR_TYPE_RC5, IR_TYPE_PD, etc */ + char *ir_codes; + const char *name; + u64 type; /* RC_BIT_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 |
