mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Jean Delvare <khali@linux-fr.org>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Andrew Morton <akpm@osdl.org>,
	"Ronald S. Bultje" <rbultje@ronald.bitfreak.net>
Subject: [PATCH 6/8] zoran: Use i2c_master_send when possible
Date: Mon, 13 Mar 2006 21:34:47 +0100	[thread overview]
Message-ID: <20060313213447.c0b6b69d.khali@linux-fr.org> (raw)
In-Reply-To: <20060313210933.88a42375.khali@linux-fr.org>

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 <khali@linux-fr.org>
---
 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(-)

--- linux-2.6.16-rc5.orig/drivers/media/video/saa7110.c	2006-03-01 21:10:01.000000000 +0100
+++ linux-2.6.16-rc5/drivers/media/video/saa7110.c	2006-03-01 21:10:16.000000000 +0100
@@ -107,13 +107,8 @@
 	 * 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);
--- linux-2.6.16-rc5.orig/drivers/media/video/adv7175.c	2006-03-01 21:10:14.000000000 +0100
+++ linux-2.6.16-rc5/drivers/media/video/adv7175.c	2006-03-01 21:10:16.000000000 +0100
@@ -114,24 +114,21 @@
 	 * 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 {
--- linux-2.6.16-rc5.orig/drivers/media/video/saa7111.c	2006-03-01 21:10:07.000000000 +0100
+++ linux-2.6.16-rc5/drivers/media/video/saa7111.c	2006-03-01 21:10:16.000000000 +0100
@@ -111,24 +111,21 @@
 	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 {
--- linux-2.6.16-rc5.orig/drivers/media/video/saa7185.c	2006-03-01 21:09:59.000000000 +0100
+++ linux-2.6.16-rc5/drivers/media/video/saa7185.c	2006-03-01 21:10:16.000000000 +0100
@@ -112,24 +112,21 @@
 	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 {
--- linux-2.6.16-rc5.orig/drivers/media/video/bt819.c	2006-03-01 21:09:59.000000000 +0100
+++ linux-2.6.16-rc5/drivers/media/video/bt819.c	2006-03-01 21:10:16.000000000 +0100
@@ -140,24 +140,21 @@
 	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 {
--- linux-2.6.16-rc5.orig/drivers/media/video/adv7170.c	2006-03-01 21:09:59.000000000 +0100
+++ linux-2.6.16-rc5/drivers/media/video/adv7170.c	2006-03-01 21:10:16.000000000 +0100
@@ -124,24 +124,21 @@
 	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 {
--- linux-2.6.16-rc5.orig/drivers/media/video/saa7114.c	2006-03-01 21:10:10.000000000 +0100
+++ linux-2.6.16-rc5/drivers/media/video/saa7114.c	2006-03-01 21:10:16.000000000 +0100
@@ -153,24 +153,21 @@
 	 * 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 {

-- 
Jean Delvare

  parent reply	other threads:[~2006-03-13 20:34 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-13 20:09 [PATCH 0/8] Zoran drivers updates Jean Delvare
2006-03-13 20:29 ` [PATCH 1/8] saa7110: Fix array overrun Jean Delvare
2006-03-13 20:29 ` [PATCH 2/8] saa7111: Prevent " Jean Delvare
2006-03-13 20:30 ` [PATCH 3/8] saa7114: Fix i2c block write Jean Delvare
2006-03-13 20:31 ` [PATCH 4/8] adv7175: Drop unused encoder dump command Jean Delvare
2006-03-13 20:32 ` [PATCH 5/8] adv7175: Drop unused register cache Jean Delvare
2006-03-13 20:34 ` Jean Delvare [this message]
2006-03-13 20:35 ` [PATCH 7/8] bt856: Spare memory Jean Delvare
2006-03-13 20:36 ` [PATCH 8/8] zoran: Init cleanups Jean Delvare
2006-03-27  5:09   ` Ronald S. Bultje
2006-03-13 20:53 ` [PATCH 0/8] Zoran drivers updates Ronald S. Bultje

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060313213447.c0b6b69d.khali@linux-fr.org \
    --to=khali@linux-fr.org \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rbultje@ronald.bitfreak.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome