Commit 62543123 authored by Jean Delvare's avatar Jean Delvare Committed by Mauro Carvalho Chehab

V4L/DVB (3568a): saa7114: Fix i2c block write

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: default avatarJean Delvare <khali@linux-fr.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 2e6e33ba
...@@ -139,9 +139,6 @@ saa7114_write (struct i2c_client *client, ...@@ -139,9 +139,6 @@ saa7114_write (struct i2c_client *client,
u8 reg, u8 reg,
u8 value) u8 value)
{ {
/*struct saa7114 *decoder = i2c_get_clientdata(client);*/
/*decoder->reg[reg] = value;*/
return i2c_smbus_write_byte_data(client, reg, value); return i2c_smbus_write_byte_data(client, reg, value);
} }
...@@ -157,7 +154,6 @@ saa7114_write_block (struct i2c_client *client, ...@@ -157,7 +154,6 @@ saa7114_write_block (struct i2c_client *client,
* the adapter understands raw I2C */ * the adapter understands raw I2C */
if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) { if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
/* do raw I2C, not smbus compatible */ /* do raw I2C, not smbus compatible */
/*struct saa7114 *decoder = i2c_get_clientdata(client);*/
struct i2c_msg msg; struct i2c_msg msg;
u8 block_data[32]; u8 block_data[32];
...@@ -168,8 +164,8 @@ saa7114_write_block (struct i2c_client *client, ...@@ -168,8 +164,8 @@ saa7114_write_block (struct i2c_client *client,
msg.len = 0; msg.len = 0;
block_data[msg.len++] = reg = data[0]; block_data[msg.len++] = reg = data[0];
do { do {
block_data[msg.len++] = block_data[msg.len++] = data[1];
/*decoder->reg[reg++] =*/ data[1]; reg++;
len -= 2; len -= 2;
data += 2; data += 2;
} while (len >= 2 && data[0] == reg && } while (len >= 2 && data[0] == reg &&
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment