Commit | Line | Data |
---|---|---|
d5e52653 MCC |
1 | #ifndef _IR_I2C |
2 | #define _IR_I2C | |
3 | ||
4 | #include <media/ir-common.h> | |
5 | ||
6 | struct IR_i2c; | |
7 | ||
8 | struct IR_i2c { | |
715a2233 MCC |
9 | struct ir_scancode_table *ir_codes; |
10 | ||
c668f32d | 11 | struct i2c_client *c; |
d5e52653 MCC |
12 | struct input_dev *input; |
13 | struct ir_input_state ir; | |
14 | ||
15 | /* Used to avoid fast repeating */ | |
16 | unsigned char old; | |
17 | ||
c1089bdc | 18 | struct delayed_work work; |
1df8e986 | 19 | char name[32]; |
d5e52653 MCC |
20 | char phys[32]; |
21 | int (*get_key)(struct IR_i2c*, u32*, u32*); | |
22 | }; | |
4d7a2d67 | 23 | |
1b6e59e3 AW |
24 | enum ir_kbd_get_key_fn { |
25 | IR_KBD_GET_KEY_CUSTOM = 0, | |
26 | IR_KBD_GET_KEY_PIXELVIEW, | |
27 | IR_KBD_GET_KEY_PV951, | |
28 | IR_KBD_GET_KEY_HAUP, | |
29 | IR_KBD_GET_KEY_KNC1, | |
30 | IR_KBD_GET_KEY_FUSIONHDTV, | |
31 | IR_KBD_GET_KEY_HAUP_XVR, | |
32 | IR_KBD_GET_KEY_AVERMEDIA_CARDBUS, | |
33 | }; | |
34 | ||
4d7a2d67 JD |
35 | /* Can be passed when instantiating an ir_video i2c device */ |
36 | struct IR_i2c_init_data { | |
715a2233 | 37 | struct ir_scancode_table *ir_codes; |
4d7a2d67 | 38 | const char *name; |
1b6e59e3 AW |
39 | int type; /* IR_TYPE_RC5, IR_TYPE_PD, etc */ |
40 | /* | |
41 | * Specify either a function pointer or a value indicating one of | |
42 | * ir_kbd_i2c's internal get_key functions | |
43 | */ | |
4d7a2d67 | 44 | int (*get_key)(struct IR_i2c*, u32*, u32*); |
1b6e59e3 | 45 | enum ir_kbd_get_key_fn internal_get_key_func; |
4d7a2d67 | 46 | }; |
d5e52653 | 47 | #endif |