]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
i2c: Document the message size limit
authorZhangfei Gao <zgao6@marvell.com>
Tue, 2 Mar 2010 11:23:49 +0000 (12:23 +0100)
committerJean Delvare <khali@linux-fr.org>
Tue, 2 Mar 2010 11:23:49 +0000 (12:23 +0100)
i2c_master_send & i2c_master_recv do not support more than 64 kb
transfer, since msg.len is u16.

Signed-off-by: Zhangfei Gao <zgao6@marvell.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Documentation/i2c/writing-clients
drivers/i2c/i2c-core.c
include/linux/i2c.h

index 0a74603eb671c84590b0a91976cc2ea3e0150728..3219ee0dbfef1eab9493253d6307acd7bb282019 100644 (file)
@@ -318,8 +318,9 @@ Plain I2C communication
 These routines read and write some bytes from/to a client. The client
 contains the i2c address, so you do not have to include it. The second
 parameter contains the bytes to read/write, the third the number of bytes
-to read/write (must be less than the length of the buffer.) Returned is
-the actual number of bytes read/written.
+to read/write (must be less than the length of the buffer, also should be
+less than 64k since msg.len is u16.) Returned is the actual number of bytes
+read/written.
 
        int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msg,
                         int num);
index 4131698008b9b71a252ffa5818288a904229261e..3202a86f420e9e5b6dac41aefcefd409b3a72ed2 100644 (file)
@@ -1183,7 +1183,7 @@ EXPORT_SYMBOL(i2c_transfer);
  * i2c_master_send - issue a single I2C message in master transmit mode
  * @client: Handle to slave device
  * @buf: Data that will be written to the slave
- * @count: How many bytes to write
+ * @count: How many bytes to write, must be less than 64k since msg.len is u16
  *
  * Returns negative errno, or else the number of bytes written.
  */
@@ -1210,7 +1210,7 @@ EXPORT_SYMBOL(i2c_master_send);
  * i2c_master_recv - issue a single I2C message in master receive mode
  * @client: Handle to slave device
  * @buf: Where to store data read from slave
- * @count: How many bytes to read
+ * @count: How many bytes to read, must be less than 64k since msg.len is u16
  *
  * Returns negative errno, or else the number of bytes read.
  */
index 476abd09c92106d2659fc9a406134371ab11b422..0a5da639b32725388c8015ce4f4ca121380cf39b 100644 (file)
@@ -53,6 +53,7 @@ struct i2c_board_info;
  * on a bus (or read from them). Apart from two basic transfer functions to
  * transmit one message at a time, a more complex version can be used to
  * transmit an arbitrary number of messages without interruption.
+ * @count must be be less than 64k since msg.len is u16.
  */
 extern int i2c_master_send(struct i2c_client *client, const char *buf,
                           int count);