diff options
author | Mauro Carvalho Chehab <mchehab@brturbo.com.br> | 2005-11-09 00:37:32 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-11-09 10:56:18 -0500 |
commit | d5e5265315770bda46c50ecaa64e2b9790f2064c (patch) | |
tree | 5c92fa1125dee3f766bd06f18840ce78bf0cd861 /include/media | |
parent | da45a2a5b96afd7188c058a55eb2917d6524c0cf (diff) |
[PATCH] v4l: 784: several improvement on i2c ir handling for em2820
- Several Improvement on I2C IR handling for em2820:
- moved Pinnacle IR table (ir_codes_em2820) to em2820-input.c
- IR struct renamed and moved to a header file.
- New file to handle em2820-specific IR.
- Some cleanups.
- attach now detects I2C IR and calls em2820-specific IR code
- IR compat code moved to compat.h
- New header with struct IR_i2c there, to allow it to be
used by board-specific input handlers.
- Some improvements at em28xx board detection:
- Board detection message improved to show interface and class.
- Now it doesn't touch audio interfaces.
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/media')
-rw-r--r-- | include/media/ir-common.h | 6 | ||||
-rw-r--r-- | include/media/ir-kbd-i2c.h | 22 |
2 files changed, 27 insertions, 1 deletions
diff --git a/include/media/ir-common.h b/include/media/ir-common.h index 01b56822df4d..0f1ba95ec8d6 100644 --- a/include/media/ir-common.h +++ b/include/media/ir-common.h | |||
@@ -20,8 +20,10 @@ | |||
20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
21 | */ | 21 | */ |
22 | 22 | ||
23 | #include <linux/input.h> | 23 | #ifndef _IR_COMMON |
24 | #define _IR_COMMON | ||
24 | 25 | ||
26 | #include <linux/input.h> | ||
25 | 27 | ||
26 | #define IR_TYPE_RC5 1 | 28 | #define IR_TYPE_RC5 1 |
27 | #define IR_TYPE_PD 2 /* Pulse distance encoded IR */ | 29 | #define IR_TYPE_PD 2 /* Pulse distance encoded IR */ |
@@ -61,6 +63,8 @@ int ir_dump_samples(u32 *samples, int count); | |||
61 | int ir_decode_biphase(u32 *samples, int count, int low, int high); | 63 | int ir_decode_biphase(u32 *samples, int count, int low, int high); |
62 | int ir_decode_pulsedistance(u32 *samples, int count, int low, int high); | 64 | int ir_decode_pulsedistance(u32 *samples, int count, int low, int high); |
63 | 65 | ||
66 | #endif | ||
67 | |||
64 | /* | 68 | /* |
65 | * Local variables: | 69 | * Local variables: |
66 | * c-basic-offset: 8 | 70 | * c-basic-offset: 8 |
diff --git a/include/media/ir-kbd-i2c.h b/include/media/ir-kbd-i2c.h new file mode 100644 index 000000000000..00fa57eb9fde --- /dev/null +++ b/include/media/ir-kbd-i2c.h | |||
@@ -0,0 +1,22 @@ | |||
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 { | ||
9 | IR_KEYTAB_TYPE *ir_codes; | ||
10 | struct i2c_client c; | ||
11 | struct input_dev *input; | ||
12 | struct ir_input_state ir; | ||
13 | |||
14 | /* Used to avoid fast repeating */ | ||
15 | unsigned char old; | ||
16 | |||
17 | struct work_struct work; | ||
18 | struct timer_list timer; | ||
19 | char phys[32]; | ||
20 | int (*get_key)(struct IR_i2c*, u32*, u32*); | ||
21 | }; | ||
22 | #endif | ||