Blame view

include/media/ir-kbd-i2c.h 1.19 KB
d5e526531   Mauro Carvalho Chehab   [PATCH] v4l: 784:...
1
2
  #ifndef _IR_I2C
  #define _IR_I2C
6bda96447   Mauro Carvalho Chehab   [media] rc: renam...
3
  #include <media/rc-core.h>
d5e526531   Mauro Carvalho Chehab   [PATCH] v4l: 784:...
4

c72ba8e6a   Mauro Carvalho Chehab   V4L/DVB: saa7134:...
5
  #define DEFAULT_POLLING_INTERVAL	100	/* ms */
d5e526531   Mauro Carvalho Chehab   [PATCH] v4l: 784:...
6
7
8
  struct IR_i2c;
  
  struct IR_i2c {
02858eedc   Mauro Carvalho Chehab   V4L/DVB: ir-core:...
9
  	char		       *ir_codes;
c668f32dc   Jean Delvare   V4L/DVB (11844): ...
10
  	struct i2c_client      *c;
d8b4b5822   David Härdeman   [media] ir-core: ...
11
  	struct rc_dev          *rc;
62c650312   David Härdeman   [media] ir-core: ...
12

d5e526531   Mauro Carvalho Chehab   [PATCH] v4l: 784:...
13
14
  	/* Used to avoid fast repeating */
  	unsigned char          old;
c72ba8e6a   Mauro Carvalho Chehab   V4L/DVB: saa7134:...
15
  	u32                    polling_interval; /* in ms */
c1089bdc0   Jean Delvare   V4L/DVB (10939): ...
16
  	struct delayed_work    work;
1df8e9861   Jean Delvare   V4L/DVB (11843): ...
17
  	char                   name[32];
d5e526531   Mauro Carvalho Chehab   [PATCH] v4l: 784:...
18
19
20
  	char                   phys[32];
  	int                    (*get_key)(struct IR_i2c*, u32*, u32*);
  };
4d7a2d672   Jean Delvare   V4L/DVB (11845): ...
21

1b6e59e3f   Andy Walls   V4L/DVB (12366): ...
22
23
24
  enum ir_kbd_get_key_fn {
  	IR_KBD_GET_KEY_CUSTOM = 0,
  	IR_KBD_GET_KEY_PIXELVIEW,
1b6e59e3f   Andy Walls   V4L/DVB (12366): ...
25
26
27
28
29
30
  	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,
  };
4d7a2d672   Jean Delvare   V4L/DVB (11845): ...
31
32
  /* Can be passed when instantiating an ir_video i2c device */
  struct IR_i2c_init_data {
02858eedc   Mauro Carvalho Chehab   V4L/DVB: ir-core:...
33
  	char			*ir_codes;
c72ba8e6a   Mauro Carvalho Chehab   V4L/DVB: saa7134:...
34
  	const char		*name;
52b661449   Mauro Carvalho Chehab   [media] rc: Renam...
35
  	u64			type; /* RC_TYPE_RC5, etc */
c72ba8e6a   Mauro Carvalho Chehab   V4L/DVB: saa7134:...
36
  	u32			polling_interval; /* 0 means DEFAULT_POLLING_INTERVAL */
62c650312   David Härdeman   [media] ir-core: ...
37

1b6e59e3f   Andy Walls   V4L/DVB (12366): ...
38
39
40
41
  	/*
  	 * Specify either a function pointer or a value indicating one of
  	 * ir_kbd_i2c's internal get_key functions
  	 */
4d7a2d672   Jean Delvare   V4L/DVB (11845): ...
42
  	int                    (*get_key)(struct IR_i2c*, u32*, u32*);
1b6e59e3f   Andy Walls   V4L/DVB (12366): ...
43
  	enum ir_kbd_get_key_fn internal_get_key_func;
2eb258327   Mauro Carvalho Chehab   [media] ir-kbd-i2...
44
45
  
  	struct rc_dev		*rc_dev;
4d7a2d672   Jean Delvare   V4L/DVB (11845): ...
46
  };
d5e526531   Mauro Carvalho Chehab   [PATCH] v4l: 784:...
47
  #endif