On Sat, 2009-10-03 at 00:49 +0300, Aleksandr V. Piskunov wrote: > Preliminary version of patch adding support for AVerTV MCE 116 Plus remote. > This board has an IR sensor is connected to EM78P153S, general purpose 8-bit > microcontroller with a 1024 × 13 bits of OTP-ROM. According to i2cdetect, it is > sitting on address 0x40. > > Patch allows ir-kbd-i2c to probe cx2341x boards for this address. Manually > loading ir-kbd-i2c now detects remote, every key is working as expected. > > As I understand, current I2C/probing code is being redesigned/refactored. Sheer > amount of #ifdefs for every second kernel version is making my eyes bleed, so > please somebody involved check if patch is ok. Aleksandr, > Should I also add the 0x40 address to addr_list[] in ivtv-i2c.c? How to point > ivtv to this remote and autoload ir-kbd-i2c? No. At first glance, this patch doesn't look safe for all ivtv boards so: Naked-by: Andy Walls <awalls@xxxxxxxxx> In ivtv-i2c.c I see: #define IVTV_MSP3400_I2C_ADDR 0x40 It is probably not good to assume that only an IR microcontroller could be at I2C address 0x40 for a CX2341x adapter. I will work up an ivtv specific change similar to what I did in cx18-cards.c and cx18-i2c.c for IR on the HVR-1600 for bringing up the IR for the M116 cards alone. What kernel version do you use? Regards, Andy > diff --git a/linux/drivers/media/video/ir-kbd-i2c.c b/linux/drivers/media/video/ir-kbd-i2c.c > --- a/linux/drivers/media/video/ir-kbd-i2c.c > +++ b/linux/drivers/media/video/ir-kbd-i2c.c > @@ -461,7 +461,7 @@ > } > break; > case 0x40: > - name = "AVerMedia Cardbus remote"; > + name = "AVerMedia RM-FP/RM-KH remote"; > ir->get_key = get_key_avermedia_cardbus; > ir_type = IR_TYPE_OTHER; > ir_codes = &ir_codes_avermedia_cardbus_table; > @@ -706,8 +706,12 @@ > ir_attach(adap, msg.addr, 0, 0); > } > > - /* Special case for AVerMedia Cardbus remote */ > - if (adap->id == I2C_HW_SAA7134) { > + /* Special case for AVerMedia remotes: > + * AVerTV Hybrid+FM Cardbus > + * AVerTV MCE 116 Plus > + * probably others with RM-FP, RM-KH remotes and microcontroller > + chip @ 0x40 */ > + if ((adap->id == I2C_HW_SAA7134) || (adap->id == I2C_HW_B_CX2341X)) { > unsigned char subaddr, data; > struct i2c_msg msg[] = { { .addr = 0x40, .flags = 0, > .buf = &subaddr, .len = 1}, -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html