From: Pete Eberlein Date: Wed, 13 Jan 2010 22:15:48 +0000 (-0300) Subject: V4L/DVB: s2250: Fix write_reg i2c address X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=986ce4510b37ba684aaebd3eb0e6ee0c03906ed8;p=openwrt%2Fstaging%2Fblogic.git V4L/DVB: s2250: Fix write_reg i2c address The kernel i2c model uses right-aligned 7-bit i2c addresses, but the 2250 firmware uses an 8-bit address in the usb vendor request. A previous patch by Jean Delvare shifted the i2c addresses 1 bit to the right, and this patch fixes the write_reg function to shift it back before sending the vendor request. To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Signed-off-by: Pete Eberlein Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/staging/go7007/s2250-board.c b/drivers/staging/go7007/s2250-board.c index 8cf7f2750b3f..c324f6ea002b 100644 --- a/drivers/staging/go7007/s2250-board.c +++ b/drivers/staging/go7007/s2250-board.c @@ -159,7 +159,7 @@ static int write_reg(struct i2c_client *client, u8 reg, u8 value) struct go7007 *go = i2c_get_adapdata(client->adapter); struct go7007_usb *usb; int rc; - int dev_addr = client->addr; + int dev_addr = client->addr << 1; /* firmware wants 8-bit address */ u8 *buf; if (go == NULL)