> @@ -93,17 +100,31 @@ static int opera1_usb_i2c_msgxfer(struct <snip/> > > + switch (addr>>1){ <snip/> > if ((tmp = opera1_usb_i2c_msgxfer(d, > - msg[i].addr, > + (msg[i].addr<<1)|(msg[i].flags&I2C_M_RD?0x01:0), Hmm... wouldn't better to remove the >>1 and <<1 on both sides, using only 7bit addresses? > + return opera1_xilinx_rw(d->udev, 0xb7, val, > + &val, 1, OPERA_WRITE_MSG); By using only 7-bit address, you will need also to do 0xb7>>1 above. -- Cheers, Mauro _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb