c668f32dca
Let card drivers probe for IR receiver devices and instantiate them if found. Ultimately it would be better if we could stop probing completely, but I suspect this won't be possible for all card types. There's certainly room for cleanups. For example, some drivers are sharing I2C adapter IDs, so they also had to share the list of I2C addresses being probed for an IR receiver. Now that each driver explicitly says which addresses should be probed, maybe some addresses can be dropped from some drivers. Also, the special cases in saa7134-i2c should probably be handled on a per-board basis. This would be more efficient and less risky than always probing extra addresses on all boards. I'll give it a try later. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
22 lines
457 B
C
22 lines
457 B
C
#ifndef _IR_I2C
|
|
#define _IR_I2C
|
|
|
|
#include <media/ir-common.h>
|
|
|
|
struct IR_i2c;
|
|
|
|
struct IR_i2c {
|
|
IR_KEYTAB_TYPE *ir_codes;
|
|
struct i2c_client *c;
|
|
struct input_dev *input;
|
|
struct ir_input_state ir;
|
|
|
|
/* Used to avoid fast repeating */
|
|
unsigned char old;
|
|
|
|
struct delayed_work work;
|
|
char name[32];
|
|
char phys[32];
|
|
int (*get_key)(struct IR_i2c*, u32*, u32*);
|
|
};
|
|
#endif
|