Skip to content

Commit

Permalink
V4L/DVB (3568a): saa7114: Fix i2c block write
Browse files Browse the repository at this point in the history
Fix the i2c block write mode of the saa7114 driver.  A previous code change
accidentally commented out a local variable increment, which should have been
kept, causing the register writes over the I2C bus to never be batched,
replacing any attempted block write by slower, individual write transactions.

Also drop the commented out code, as it only adds to confusion.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
  • Loading branch information
Jean Delvare authored and Mauro Carvalho Chehab committed Mar 23, 2006
1 parent 2e6e33b commit 6254312
Showing 1 changed file with 2 additions and 6 deletions.
8 changes: 2 additions & 6 deletions drivers/media/video/saa7114.c
Original file line number Diff line number Diff line change
Expand Up @@ -139,9 +139,6 @@ saa7114_write (struct i2c_client *client,
u8 reg,
u8 value)
{
/*struct saa7114 *decoder = i2c_get_clientdata(client);*/

/*decoder->reg[reg] = value;*/
return i2c_smbus_write_byte_data(client, reg, value);
}

Expand All @@ -157,7 +154,6 @@ saa7114_write_block (struct i2c_client *client,
* the adapter understands raw I2C */
if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
/* do raw I2C, not smbus compatible */
/*struct saa7114 *decoder = i2c_get_clientdata(client);*/
struct i2c_msg msg;
u8 block_data[32];

Expand All @@ -168,8 +164,8 @@ saa7114_write_block (struct i2c_client *client,
msg.len = 0;
block_data[msg.len++] = reg = data[0];
do {
block_data[msg.len++] =
/*decoder->reg[reg++] =*/ data[1];
block_data[msg.len++] = data[1];
reg++;
len -= 2;
data += 2;
} while (len >= 2 && data[0] == reg &&
Expand Down

0 comments on commit 6254312

Please sign in to comment.