]> err.no Git - linux-2.6/commitdiff
[PATCH] i2c: Drop I2C_SMBUS_I2C_BLOCK_MAX
authorJean Delvare <khali@linux-fr.org>
Fri, 7 Oct 2005 22:15:59 +0000 (00:15 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 28 Oct 2005 21:02:10 +0000 (14:02 -0700)
Drop I2C_SMBUS_I2C_BLOCK_MAX, use I2C_SMBUS_BLOCK_MAX instead.

I2C_SMBUS_I2C_BLOCK_MAX has always been defined to the same value as
I2C_SMBUS_BLOCK_MAX, and this will never change: setting it to a lower
value would make no sense, setting it to a higher value would break
i2c_smbus_data compatibility. There is no point in changing
i2c_smbus_data to support larger block transactions in SMBus mode, as
no SMBus hardware supports more than 32 byte blocks. Thus, for larger
transactions, direct I2C transfers are the way to go.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/i2c/chips/eeprom.c
drivers/i2c/i2c-core.c
include/linux/i2c.h

index d58403a479086d9b8660f85b0fcf5e4bbacbffe7..7fb739c439352df46245ef9f73a4dc27ae5de469 100644 (file)
@@ -88,8 +88,8 @@ static void eeprom_update_client(struct i2c_client *client, u8 slice)
                dev_dbg(&client->dev, "Starting eeprom update, slice %u\n", slice);
 
                if (i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_READ_I2C_BLOCK)) {
-                       for (i = slice << 5; i < (slice + 1) << 5; i += I2C_SMBUS_I2C_BLOCK_MAX)
-                               if (i2c_smbus_read_i2c_block_data(client, i, data->data + i) != I2C_SMBUS_I2C_BLOCK_MAX)
+                       for (i = slice << 5; i < (slice + 1) << 5; i += I2C_SMBUS_BLOCK_MAX)
+                               if (i2c_smbus_read_i2c_block_data(client, i, data->data + i) != I2C_SMBUS_BLOCK_MAX)
                                        goto exit;
                } else {
                        if (i2c_smbus_write_byte(client, slice << 5)) {
index 9583a54ce16baf18531713543dd5eab5ca628a05..15354176ff63722b06191272d7e79d37282e3bf6 100644 (file)
@@ -1108,10 +1108,10 @@ static s32 i2c_smbus_xfer_emulated(struct i2c_adapter * adapter, u16 addr,
                return -1;
        case I2C_SMBUS_I2C_BLOCK_DATA:
                if (read_write == I2C_SMBUS_READ) {
-                       msg[1].len = I2C_SMBUS_I2C_BLOCK_MAX;
+                       msg[1].len = I2C_SMBUS_BLOCK_MAX;
                } else {
                        msg[0].len = data->block[0] + 1;
-                       if (msg[0].len > I2C_SMBUS_I2C_BLOCK_MAX + 1) {
+                       if (msg[0].len > I2C_SMBUS_BLOCK_MAX + 1) {
                                dev_err(&adapter->dev, "i2c_smbus_xfer_emulated called with "
                                       "invalid block write size (%d)\n",
                                       data->block[0]);
@@ -1144,8 +1144,8 @@ static s32 i2c_smbus_xfer_emulated(struct i2c_adapter * adapter, u16 addr,
                                break;
                        case I2C_SMBUS_I2C_BLOCK_DATA:
                                /* fixed at 32 for now */
-                               data->block[0] = I2C_SMBUS_I2C_BLOCK_MAX;
-                               for (i = 0; i < I2C_SMBUS_I2C_BLOCK_MAX; i++)
+                               data->block[0] = I2C_SMBUS_BLOCK_MAX;
+                               for (i = 0; i < I2C_SMBUS_BLOCK_MAX; i++)
                                        data->block[i+1] = msgbuf1[i];
                                break;
                }
index 74103d0a8cd24e3393d8eb2524da428c1c8d212c..64c13c042f9d56dc84a6d6d8c4ca8c545dba2919 100644 (file)
@@ -448,7 +448,6 @@ struct i2c_msg {
  * Data for SMBus Messages 
  */
 #define I2C_SMBUS_BLOCK_MAX    32      /* As specified in SMBus standard */    
-#define I2C_SMBUS_I2C_BLOCK_MAX        32      /* Not specified but we use same structure */
 union i2c_smbus_data {
        __u8 byte;
        __u16 word;