Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9aa45e34 authored by Jean Delvare's avatar Jean Delvare Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (3568k): zoran: Use i2c_master_send when possible



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: 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 5a313c59
Loading
Loading
Loading
Loading
+7 −10
Original line number Original line Diff line number Diff line
@@ -125,24 +125,21 @@ adv7170_write_block (struct i2c_client *client,
	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 adv7170 *encoder = i2c_get_clientdata(client);
		struct adv7170 *encoder = i2c_get_clientdata(client);
		struct i2c_msg msg;
		u8 block_data[32];
		u8 block_data[32];
		int block_len;


		msg.addr = client->addr;
		msg.flags = 0;
		while (len >= 2) {
		while (len >= 2) {
			msg.buf = (char *) block_data;
			block_len = 0;
			msg.len = 0;
			block_data[block_len++] = reg = data[0];
			block_data[msg.len++] = reg = data[0];
			do {
			do {
				block_data[msg.len++] =
				block_data[block_len++] =
				    encoder->reg[reg++] = data[1];
				    encoder->reg[reg++] = data[1];
				len -= 2;
				len -= 2;
				data += 2;
				data += 2;
			} while (len >= 2 && data[0] == reg &&
			} while (len >= 2 && data[0] == reg &&
				 msg.len < 32);
				 block_len < 32);
			if ((ret = i2c_transfer(client->adapter,
			if ((ret = i2c_master_send(client, block_data,
						&msg, 1)) < 0)
						   block_len)) < 0)
				break;
				break;
		}
		}
	} else {
	} else {
+7 −10
Original line number Original line Diff line number Diff line
@@ -115,24 +115,21 @@ adv7175_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 i2c_msg msg;
		u8 block_data[32];
		u8 block_data[32];
		int block_len;


		msg.addr = client->addr;
		msg.flags = 0;
		while (len >= 2) {
		while (len >= 2) {
			msg.buf = (char *) block_data;
			block_len = 0;
			msg.len = 0;
			block_data[block_len++] = reg = data[0];
			block_data[msg.len++] = reg = data[0];
			do {
			do {
				block_data[msg.len++] = data[1];
				block_data[block_len++] = data[1];
				reg++;
				reg++;
				len -= 2;
				len -= 2;
				data += 2;
				data += 2;
			} while (len >= 2 && data[0] == reg &&
			} while (len >= 2 && data[0] == reg &&
				 msg.len < 32);
				 block_len < 32);
			if ((ret = i2c_transfer(client->adapter,
			if ((ret = i2c_master_send(client, block_data,
						&msg, 1)) < 0)
						   block_len)) < 0)
				break;
				break;
		}
		}
	} else {
	} else {
+7 −10
Original line number Original line Diff line number Diff line
@@ -141,24 +141,21 @@ bt819_write_block (struct i2c_client *client,
	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 bt819 *decoder = i2c_get_clientdata(client);
		struct bt819 *decoder = i2c_get_clientdata(client);
		struct i2c_msg msg;
		u8 block_data[32];
		u8 block_data[32];
		int block_len;


		msg.addr = client->addr;
		msg.flags = 0;
		while (len >= 2) {
		while (len >= 2) {
			msg.buf = (char *) block_data;
			block_len = 0;
			msg.len = 0;
			block_data[block_len++] = reg = data[0];
			block_data[msg.len++] = reg = data[0];
			do {
			do {
				block_data[msg.len++] =
				block_data[block_len++] =
				    decoder->reg[reg++] = data[1];
				    decoder->reg[reg++] = data[1];
				len -= 2;
				len -= 2;
				data += 2;
				data += 2;
			} while (len >= 2 && data[0] == reg &&
			} while (len >= 2 && data[0] == reg &&
				 msg.len < 32);
				 block_len < 32);
			if ((ret = i2c_transfer(client->adapter,
			if ((ret = i2c_master_send(client, block_data,
						&msg, 1)) < 0)
						   block_len)) < 0)
				break;
				break;
		}
		}
	} else {
	} else {
+1 −6
Original line number Original line Diff line number Diff line
@@ -108,13 +108,8 @@ saa7110_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)) {
		struct saa7110 *decoder = i2c_get_clientdata(client);
		struct saa7110 *decoder = i2c_get_clientdata(client);
		struct i2c_msg msg;


		msg.len = len;
		ret = i2c_master_send(client, data, len);
		msg.buf = (char *) data;
		msg.addr = client->addr;
		msg.flags = 0;
		ret = i2c_transfer(client->adapter, &msg, 1);


		/* Cache the written data */
		/* Cache the written data */
		memcpy(decoder->reg + reg, data + 1, len - 1);
		memcpy(decoder->reg + reg, data + 1, len - 1);
+7 −10
Original line number Original line Diff line number Diff line
@@ -112,24 +112,21 @@ saa7111_write_block (struct i2c_client *client,
	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 saa7111 *decoder = i2c_get_clientdata(client);
		struct saa7111 *decoder = i2c_get_clientdata(client);
		struct i2c_msg msg;
		u8 block_data[32];
		u8 block_data[32];
		int block_len;


		msg.addr = client->addr;
		msg.flags = 0;
		while (len >= 2) {
		while (len >= 2) {
			msg.buf = (char *) block_data;
			block_len = 0;
			msg.len = 0;
			block_data[block_len++] = reg = data[0];
			block_data[msg.len++] = reg = data[0];
			do {
			do {
				block_data[msg.len++] =
				block_data[block_len++] =
				    decoder->reg[reg++] = data[1];
				    decoder->reg[reg++] = data[1];
				len -= 2;
				len -= 2;
				data += 2;
				data += 2;
			} while (len >= 2 && data[0] == reg &&
			} while (len >= 2 && data[0] == reg &&
				 msg.len < 32);
				 block_len < 32);
			if ((ret = i2c_transfer(client->adapter,
			if ((ret = i2c_master_send(client, block_data,
						&msg, 1)) < 0)
						   block_len)) < 0)
				break;
				break;
		}
		}
	} else {
	} else {
Loading