From: Jean Delvare Change all the Zoran (ZR36050/ZR36060) drivers to use i2c_master_send instead of i2c_transfer when possible. This simplifies the code by a few lines in each driver. Signed-off-by: Jean Delvare Cc: "Ronald S. Bultje" Cc: Mauro Carvalho Chehab Cc: Johannes Stezenbach Signed-off-by: Andrew Morton --- drivers/media/video/adv7170.c | 17 +++++++---------- drivers/media/video/adv7175.c | 17 +++++++---------- drivers/media/video/bt819.c | 17 +++++++---------- drivers/media/video/saa7110.c | 7 +------ drivers/media/video/saa7111.c | 17 +++++++---------- drivers/media/video/saa7114.c | 17 +++++++---------- drivers/media/video/saa7185.c | 17 +++++++---------- 7 files changed, 43 insertions(+), 66 deletions(-) diff -puN drivers/media/video/adv7170.c~zoran-use-i2c_master_send-when-possible drivers/media/video/adv7170.c --- devel/drivers/media/video/adv7170.c~zoran-use-i2c_master_send-when-possible 2006-03-13 17:50:38.000000000 -0800 +++ devel-akpm/drivers/media/video/adv7170.c 2006-03-13 17:50:38.000000000 -0800 @@ -125,24 +125,21 @@ adv7170_write_block (struct i2c_client * if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) { /* do raw I2C, not smbus compatible */ struct adv7170 *encoder = i2c_get_clientdata(client); - struct i2c_msg msg; u8 block_data[32]; + int block_len; - msg.addr = client->addr; - msg.flags = 0; while (len >= 2) { - msg.buf = (char *) block_data; - msg.len = 0; - block_data[msg.len++] = reg = data[0]; + block_len = 0; + block_data[block_len++] = reg = data[0]; do { - block_data[msg.len++] = + block_data[block_len++] = encoder->reg[reg++] = data[1]; len -= 2; data += 2; } while (len >= 2 && data[0] == reg && - msg.len < 32); - if ((ret = i2c_transfer(client->adapter, - &msg, 1)) < 0) + block_len < 32); + if ((ret = i2c_master_send(client, block_data, + block_len)) < 0) break; } } else { diff -puN drivers/media/video/adv7175.c~zoran-use-i2c_master_send-when-possible drivers/media/video/adv7175.c --- devel/drivers/media/video/adv7175.c~zoran-use-i2c_master_send-when-possible 2006-03-13 17:50:38.000000000 -0800 +++ devel-akpm/drivers/media/video/adv7175.c 2006-03-13 17:50:38.000000000 -0800 @@ -115,24 +115,21 @@ adv7175_write_block (struct i2c_client * * the adapter understands raw I2C */ if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) { /* do raw I2C, not smbus compatible */ - struct i2c_msg msg; u8 block_data[32]; + int block_len; - msg.addr = client->addr; - msg.flags = 0; while (len >= 2) { - msg.buf = (char *) block_data; - msg.len = 0; - block_data[msg.len++] = reg = data[0]; + block_len = 0; + block_data[block_len++] = reg = data[0]; do { - block_data[msg.len++] = data[1]; + block_data[block_len++] = data[1]; reg++; len -= 2; data += 2; } while (len >= 2 && data[0] == reg && - msg.len < 32); - if ((ret = i2c_transfer(client->adapter, - &msg, 1)) < 0) + block_len < 32); + if ((ret = i2c_master_send(client, block_data, + block_len)) < 0) break; } } else { diff -puN drivers/media/video/bt819.c~zoran-use-i2c_master_send-when-possible drivers/media/video/bt819.c --- devel/drivers/media/video/bt819.c~zoran-use-i2c_master_send-when-possible 2006-03-13 17:50:38.000000000 -0800 +++ devel-akpm/drivers/media/video/bt819.c 2006-03-13 17:50:38.000000000 -0800 @@ -141,24 +141,21 @@ bt819_write_block (struct i2c_client *cl if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) { /* do raw I2C, not smbus compatible */ struct bt819 *decoder = i2c_get_clientdata(client); - struct i2c_msg msg; u8 block_data[32]; + int block_len; - msg.addr = client->addr; - msg.flags = 0; while (len >= 2) { - msg.buf = (char *) block_data; - msg.len = 0; - block_data[msg.len++] = reg = data[0]; + block_len = 0; + block_data[block_len++] = reg = data[0]; do { - block_data[msg.len++] = + block_data[block_len++] = decoder->reg[reg++] = data[1]; len -= 2; data += 2; } while (len >= 2 && data[0] == reg && - msg.len < 32); - if ((ret = i2c_transfer(client->adapter, - &msg, 1)) < 0) + block_len < 32); + if ((ret = i2c_master_send(client, block_data, + block_len)) < 0) break; } } else { diff -puN drivers/media/video/saa7110.c~zoran-use-i2c_master_send-when-possible drivers/media/video/saa7110.c --- devel/drivers/media/video/saa7110.c~zoran-use-i2c_master_send-when-possible 2006-03-13 17:50:38.000000000 -0800 +++ devel-akpm/drivers/media/video/saa7110.c 2006-03-13 17:50:38.000000000 -0800 @@ -108,13 +108,8 @@ saa7110_write_block (struct i2c_client * * the adapter understands raw I2C */ if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) { struct saa7110 *decoder = i2c_get_clientdata(client); - struct i2c_msg msg; - msg.len = len; - msg.buf = (char *) data; - msg.addr = client->addr; - msg.flags = 0; - ret = i2c_transfer(client->adapter, &msg, 1); + ret = i2c_master_send(client, data, len); /* Cache the written data */ memcpy(decoder->reg + reg, data + 1, len - 1); diff -puN drivers/media/video/saa7111.c~zoran-use-i2c_master_send-when-possible drivers/media/video/saa7111.c --- devel/drivers/media/video/saa7111.c~zoran-use-i2c_master_send-when-possible 2006-03-13 17:50:38.000000000 -0800 +++ devel-akpm/drivers/media/video/saa7111.c 2006-03-13 17:50:38.000000000 -0800 @@ -112,24 +112,21 @@ saa7111_write_block (struct i2c_client * if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) { /* do raw I2C, not smbus compatible */ struct saa7111 *decoder = i2c_get_clientdata(client); - struct i2c_msg msg; u8 block_data[32]; + int block_len; - msg.addr = client->addr; - msg.flags = 0; while (len >= 2) { - msg.buf = (char *) block_data; - msg.len = 0; - block_data[msg.len++] = reg = data[0]; + block_len = 0; + block_data[block_len++] = reg = data[0]; do { - block_data[msg.len++] = + block_data[block_len++] = decoder->reg[reg++] = data[1]; len -= 2; data += 2; } while (len >= 2 && data[0] == reg && - msg.len < 32); - if ((ret = i2c_transfer(client->adapter, - &msg, 1)) < 0) + block_len < 32); + if ((ret = i2c_master_send(client, block_data, + block_len)) < 0) break; } } else { diff -puN drivers/media/video/saa7114.c~zoran-use-i2c_master_send-when-possible drivers/media/video/saa7114.c --- devel/drivers/media/video/saa7114.c~zoran-use-i2c_master_send-when-possible 2006-03-13 17:50:38.000000000 -0800 +++ devel-akpm/drivers/media/video/saa7114.c 2006-03-13 17:50:38.000000000 -0800 @@ -154,24 +154,21 @@ saa7114_write_block (struct i2c_client * * the adapter understands raw I2C */ if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) { /* do raw I2C, not smbus compatible */ - struct i2c_msg msg; u8 block_data[32]; + int block_len; - msg.addr = client->addr; - msg.flags = 0; while (len >= 2) { - msg.buf = (char *) block_data; - msg.len = 0; - block_data[msg.len++] = reg = data[0]; + block_len = 0; + block_data[block_len++] = reg = data[0]; do { - block_data[msg.len++] = data[1]; + block_data[block_len++] = data[1]; reg++; len -= 2; data += 2; } while (len >= 2 && data[0] == reg && - msg.len < 32); - if ((ret = i2c_transfer(client->adapter, - &msg, 1)) < 0) + block_len < 32); + if ((ret = i2c_master_send(client, block_data, + block_len)) < 0) break; } } else { diff -puN drivers/media/video/saa7185.c~zoran-use-i2c_master_send-when-possible drivers/media/video/saa7185.c --- devel/drivers/media/video/saa7185.c~zoran-use-i2c_master_send-when-possible 2006-03-13 17:50:38.000000000 -0800 +++ devel-akpm/drivers/media/video/saa7185.c 2006-03-13 17:50:38.000000000 -0800 @@ -113,24 +113,21 @@ saa7185_write_block (struct i2c_client * if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) { /* do raw I2C, not smbus compatible */ struct saa7185 *encoder = i2c_get_clientdata(client); - struct i2c_msg msg; u8 block_data[32]; + int block_len; - msg.addr = client->addr; - msg.flags = 0; while (len >= 2) { - msg.buf = (char *) block_data; - msg.len = 0; - block_data[msg.len++] = reg = data[0]; + block_len = 0; + block_data[block_len++] = reg = data[0]; do { - block_data[msg.len++] = + block_data[block_len++] = encoder->reg[reg++] = data[1]; len -= 2; data += 2; } while (len >= 2 && data[0] == reg && - msg.len < 32); - if ((ret = i2c_transfer(client->adapter, - &msg, 1)) < 0) + block_len < 32); + if ((ret = i2c_master_send(client, block_data, + block_len)) < 0) break; } } else { _