diff for duplicates of <425418AD.6060102@acm.org> diff --git a/a/1.txt b/N1/1.txt index c551afc..8b13789 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,8 +1 @@ --------------- next part -------------- -A non-text attachment was scrubbed... -Name: i2c_remove_redundant_check.diff -Type: text/x-patch -Size: 2866 bytes -Desc: not available -Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20050406/e3ce9b0c/i2c_remove_redundant_check.bin diff --git a/N1/2.hdr b/N1/2.hdr new file mode 100644 index 0000000..427d27c --- /dev/null +++ b/N1/2.hdr @@ -0,0 +1,5 @@ +Content-Type: text/x-patch; + name="i2c_remove_redundant_check.diff" +Content-Transfer-Encoding: 7bit +Content-Disposition: inline; + filename="i2c_remove_redundant_check.diff" diff --git a/N1/2.txt b/N1/2.txt new file mode 100644 index 0000000..d47faa8 --- /dev/null +++ b/N1/2.txt @@ -0,0 +1,95 @@ +Call i2c_transfer() from i2c_master_send() and i2c_master_recv() +to avoid the redundant code that was in all three functions. It +also removes unnecessary debug statements as suggested by Jean +Delvare. + +This is important for the non-blocking interfaces because they +will have to handle a non-blocking interface in this area. Having +it in one place greatly simplifies the changes. + +Signed-off-by: Corey Minyard <minyard@acm.org> + +Index: linux-2.6.12-rc1/drivers/i2c/i2c-core.c +=================================================================== +--- linux-2.6.12-rc1.orig/drivers/i2c/i2c-core.c ++++ linux-2.6.12-rc1/drivers/i2c/i2c-core.c +@@ -612,27 +612,17 @@ + struct i2c_adapter *adap=client->adapter; + struct i2c_msg msg; + +- if (client->adapter->algo->master_xfer) { +- msg.addr = client->addr; +- msg.flags = client->flags & I2C_M_TEN; +- msg.len = count; +- msg.buf = (char *)buf; ++ msg.addr = client->addr; ++ msg.flags = client->flags & I2C_M_TEN; ++ msg.len = count; ++ msg.buf = (char *)buf; + +- dev_dbg(&client->adapter->dev, "master_send: writing %d bytes.\n", +- count); +- +- down(&adap->bus_lock); +- ret = adap->algo->master_xfer(adap,&msg,1); +- up(&adap->bus_lock); +- +- /* if everything went ok (i.e. 1 msg transmitted), return #bytes +- * transmitted, else error code. +- */ +- return (ret == 1 )? count : ret; +- } else { +- dev_err(&client->adapter->dev, "I2C level transfers not supported\n"); +- return -ENOSYS; +- } ++ ret = i2c_transfer(adap, &msg, 1); ++ ++ /* if everything went ok (i.e. 1 msg transmitted), return #bytes ++ * transmitted, else error code. ++ */ ++ return (ret == 1 )? count : ret; + } + + int i2c_master_recv(struct i2c_client *client, char *buf ,int count) +@@ -640,31 +630,19 @@ + struct i2c_adapter *adap=client->adapter; + struct i2c_msg msg; + int ret; +- if (client->adapter->algo->master_xfer) { +- msg.addr = client->addr; +- msg.flags = client->flags & I2C_M_TEN; +- msg.flags |= I2C_M_RD; +- msg.len = count; +- msg.buf = buf; + +- dev_dbg(&client->adapter->dev, "master_recv: reading %d bytes.\n", +- count); +- +- down(&adap->bus_lock); +- ret = adap->algo->master_xfer(adap,&msg,1); +- up(&adap->bus_lock); +- +- dev_dbg(&client->adapter->dev, "master_recv: return:%d (count:%d, addr:0x%02x)\n", +- ret, count, client->addr); +- +- /* if everything went ok (i.e. 1 msg transmitted), return #bytes +- * transmitted, else error code. +- */ +- return (ret == 1 )? count : ret; +- } else { +- dev_err(&client->adapter->dev, "I2C level transfers not supported\n"); +- return -ENOSYS; +- } ++ msg.addr = client->addr; ++ msg.flags = client->flags & I2C_M_TEN; ++ msg.flags |= I2C_M_RD; ++ msg.len = count; ++ msg.buf = buf; ++ ++ ret = i2c_transfer(adap, &msg, 1); ++ ++ /* if everything went ok (i.e. 1 msg transmitted), return #bytes ++ * transmitted, else error code. ++ */ ++ return (ret == 1 )? count : ret; + } diff --git a/a/content_digest b/N1/content_digest index e29fce9..0d75d28 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,18 +1,108 @@ - "From\0minyard@acm.org (Corey Minyard)\0" + "From\0Corey Minyard <minyard@acm.org>\0" "Subject\0[PATCH] Remove redundancy from i2c-core.c\0" - "Date\0Thu, 19 May 2005 06:25:48 +0000\0" + "Date\0Wed, 06 Apr 2005 12:13:17 -0500\0" "To\0lkml <linux-kernel@vger.kernel.org>" Greg KH <greg@kroah.com> " Sensors <sensors@stimpy.netroedge.com>\0" - "\00:1\0" + "\01:1\0" "b\0" + "\01:2\0" + "fn\0i2c_remove_redundant_check.diff\0" + "b\0" + "Call i2c_transfer() from i2c_master_send() and i2c_master_recv()\n" + "to avoid the redundant code that was in all three functions. It\n" + "also removes unnecessary debug statements as suggested by Jean\n" + "Delvare.\n" + "\n" + "This is important for the non-blocking interfaces because they\n" + "will have to handle a non-blocking interface in this area. Having\n" + "it in one place greatly simplifies the changes.\n" + "\n" + "Signed-off-by: Corey Minyard <minyard@acm.org>\n" "\n" - "-------------- next part --------------\n" - "A non-text attachment was scrubbed...\n" - "Name: i2c_remove_redundant_check.diff\n" - "Type: text/x-patch\n" - "Size: 2866 bytes\n" - "Desc: not available\n" - Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20050406/e3ce9b0c/i2c_remove_redundant_check.bin + "Index: linux-2.6.12-rc1/drivers/i2c/i2c-core.c\n" + "===================================================================\n" + "--- linux-2.6.12-rc1.orig/drivers/i2c/i2c-core.c\n" + "+++ linux-2.6.12-rc1/drivers/i2c/i2c-core.c\n" + "@@ -612,27 +612,17 @@\n" + " \tstruct i2c_adapter *adap=client->adapter;\n" + " \tstruct i2c_msg msg;\n" + " \n" + "-\tif (client->adapter->algo->master_xfer) {\n" + "-\t\tmsg.addr = client->addr;\n" + "-\t\tmsg.flags = client->flags & I2C_M_TEN;\n" + "-\t\tmsg.len = count;\n" + "-\t\tmsg.buf = (char *)buf;\n" + "+\tmsg.addr = client->addr;\n" + "+\tmsg.flags = client->flags & I2C_M_TEN;\n" + "+\tmsg.len = count;\n" + "+\tmsg.buf = (char *)buf;\n" + " \t\n" + "-\t\tdev_dbg(&client->adapter->dev, \"master_send: writing %d bytes.\\n\",\n" + "-\t\t\tcount);\n" + "-\t\n" + "-\t\tdown(&adap->bus_lock);\n" + "-\t\tret = adap->algo->master_xfer(adap,&msg,1);\n" + "-\t\tup(&adap->bus_lock);\n" + "-\n" + "-\t\t/* if everything went ok (i.e. 1 msg transmitted), return #bytes\n" + "-\t\t * transmitted, else error code.\n" + "-\t\t */\n" + "-\t\treturn (ret == 1 )? count : ret;\n" + "-\t} else {\n" + "-\t\tdev_err(&client->adapter->dev, \"I2C level transfers not supported\\n\");\n" + "-\t\treturn -ENOSYS;\n" + "-\t}\n" + "+\tret = i2c_transfer(adap, &msg, 1);\n" + "+\n" + "+\t/* if everything went ok (i.e. 1 msg transmitted), return #bytes\n" + "+\t * transmitted, else error code.\n" + "+\t */\n" + "+\treturn (ret == 1 )? count : ret;\n" + " }\n" + " \n" + " int i2c_master_recv(struct i2c_client *client, char *buf ,int count)\n" + "@@ -640,31 +630,19 @@\n" + " \tstruct i2c_adapter *adap=client->adapter;\n" + " \tstruct i2c_msg msg;\n" + " \tint ret;\n" + "-\tif (client->adapter->algo->master_xfer) {\n" + "-\t\tmsg.addr = client->addr;\n" + "-\t\tmsg.flags = client->flags & I2C_M_TEN;\n" + "-\t\tmsg.flags |= I2C_M_RD;\n" + "-\t\tmsg.len = count;\n" + "-\t\tmsg.buf = buf;\n" + " \n" + "-\t\tdev_dbg(&client->adapter->dev, \"master_recv: reading %d bytes.\\n\",\n" + "-\t\t\tcount);\n" + "-\t\n" + "-\t\tdown(&adap->bus_lock);\n" + "-\t\tret = adap->algo->master_xfer(adap,&msg,1);\n" + "-\t\tup(&adap->bus_lock);\n" + "-\t\n" + "-\t\tdev_dbg(&client->adapter->dev, \"master_recv: return:%d (count:%d, addr:0x%02x)\\n\",\n" + "-\t\t\tret, count, client->addr);\n" + "-\t\n" + "-\t\t/* if everything went ok (i.e. 1 msg transmitted), return #bytes\n" + "-\t \t* transmitted, else error code.\n" + "-\t \t*/\n" + "-\t\treturn (ret == 1 )? count : ret;\n" + "-\t} else {\n" + "-\t\tdev_err(&client->adapter->dev, \"I2C level transfers not supported\\n\");\n" + "-\t\treturn -ENOSYS;\n" + "-\t}\n" + "+\tmsg.addr = client->addr;\n" + "+\tmsg.flags = client->flags & I2C_M_TEN;\n" + "+\tmsg.flags |= I2C_M_RD;\n" + "+\tmsg.len = count;\n" + "+\tmsg.buf = buf;\n" + "+\n" + "+\tret = i2c_transfer(adap, &msg, 1);\n" + "+\n" + "+\t/* if everything went ok (i.e. 1 msg transmitted), return #bytes\n" + "+\t * transmitted, else error code.\n" + "+\t */\n" + "+\treturn (ret == 1 )? count : ret;\n" + } -ef2c851a847648652cdd49eafc734465c986a330958598d3f58b511aa7fc2622 +193b51d1f00b021d1437dbaa79235171a61156aeef5722a8bfc38b7ea2d27213
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.