i2c: Get rid of struct i2c_client_address_data

Struct i2c_client_address_data only contains one field at this point,
which makes its usefulness questionable. Get rid of it and pass simple
address lists around instead.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Tested-by: Wolfram Sang <w.sang@pengutronix.de>
This commit is contained in:
Jean Delvare 2009-12-14 21:17:25 +01:00
parent 310ec79210
commit c3813d6af1
50 changed files with 66 additions and 89 deletions

View file

@ -44,7 +44,7 @@ static struct i2c_driver foo_driver = {
/* if device autodetection is needed: */ /* if device autodetection is needed: */
.class = I2C_CLASS_SOMETHING, .class = I2C_CLASS_SOMETHING,
.detect = foo_detect, .detect = foo_detect,
.address_data = &addr_data, .address_list = normal_i2c,
.shutdown = foo_shutdown, /* optional */ .shutdown = foo_shutdown, /* optional */
.suspend = foo_suspend, /* optional */ .suspend = foo_suspend, /* optional */

View file

@ -130,7 +130,7 @@ static struct i2c_driver adm1021_driver = {
.remove = adm1021_remove, .remove = adm1021_remove,
.id_table = adm1021_id, .id_table = adm1021_id,
.detect = adm1021_detect, .detect = adm1021_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
static ssize_t show_temp(struct device *dev, static ssize_t show_temp(struct device *dev,

View file

@ -137,7 +137,7 @@ static struct i2c_driver adm1025_driver = {
.remove = adm1025_remove, .remove = adm1025_remove,
.id_table = adm1025_id, .id_table = adm1025_id,
.detect = adm1025_detect, .detect = adm1025_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* /*

View file

@ -319,7 +319,7 @@ static struct i2c_driver adm1026_driver = {
.remove = adm1026_remove, .remove = adm1026_remove,
.id_table = adm1026_id, .id_table = adm1026_id,
.detect = adm1026_detect, .detect = adm1026_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
static int adm1026_read_value(struct i2c_client *client, u8 reg) static int adm1026_read_value(struct i2c_client *client, u8 reg)

View file

@ -142,7 +142,7 @@ static struct i2c_driver adm1029_driver = {
.remove = adm1029_remove, .remove = adm1029_remove,
.id_table = adm1029_id, .id_table = adm1029_id,
.detect = adm1029_detect, .detect = adm1029_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* /*

View file

@ -125,7 +125,7 @@ static struct i2c_driver adm1031_driver = {
.remove = adm1031_remove, .remove = adm1031_remove,
.id_table = adm1031_id, .id_table = adm1031_id,
.detect = adm1031_detect, .detect = adm1031_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
static inline u8 adm1031_read_value(struct i2c_client *client, u8 reg) static inline u8 adm1031_read_value(struct i2c_client *client, u8 reg)

View file

@ -156,7 +156,7 @@ static struct i2c_driver adm9240_driver = {
.remove = adm9240_remove, .remove = adm9240_remove,
.id_table = adm9240_id, .id_table = adm9240_id,
.detect = adm9240_detect, .detect = adm9240_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* per client data */ /* per client data */

View file

@ -183,7 +183,7 @@ static struct i2c_driver ads7828_driver = {
.remove = ads7828_remove, .remove = ads7828_remove,
.id_table = ads7828_id, .id_table = ads7828_id,
.detect = ads7828_detect, .detect = ads7828_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* Return 0 if detection is successful, -ENODEV otherwise */ /* Return 0 if detection is successful, -ENODEV otherwise */

View file

@ -256,7 +256,7 @@ static struct i2c_driver adt7462_driver = {
.remove = adt7462_remove, .remove = adt7462_remove,
.id_table = adt7462_id, .id_table = adt7462_id,
.detect = adt7462_detect, .detect = adt7462_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* /*

View file

@ -196,7 +196,7 @@ static struct i2c_driver adt7470_driver = {
.remove = adt7470_remove, .remove = adt7470_remove,
.id_table = adt7470_id, .id_table = adt7470_id,
.detect = adt7470_detect, .detect = adt7470_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* /*

View file

@ -184,7 +184,7 @@ static struct i2c_driver adt7473_driver = {
.remove = adt7473_remove, .remove = adt7473_remove,
.id_table = adt7473_id, .id_table = adt7473_id,
.detect = adt7473_detect, .detect = adt7473_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* /*

View file

@ -1412,7 +1412,7 @@ static struct i2c_driver adt7475_driver = {
.remove = adt7475_remove, .remove = adt7475_remove,
.id_table = adt7475_id, .id_table = adt7475_id,
.detect = adt7475_detect, .detect = adt7475_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
static void adt7475_read_hystersis(struct i2c_client *client) static void adt7475_read_hystersis(struct i2c_client *client)

View file

@ -230,7 +230,7 @@ static struct i2c_driver asb100_driver = {
.remove = asb100_remove, .remove = asb100_remove,
.id_table = asb100_id, .id_table = asb100_id,
.detect = asb100_detect, .detect = asb100_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* 7 Voltages */ /* 7 Voltages */

View file

@ -67,7 +67,7 @@ static struct i2c_driver atxp1_driver = {
.remove = atxp1_remove, .remove = atxp1_remove,
.id_table = atxp1_id, .id_table = atxp1_id,
.detect = atxp1_detect, .detect = atxp1_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
struct atxp1_data { struct atxp1_data {

View file

@ -2318,7 +2318,7 @@ static struct i2c_driver dme1737_i2c_driver = {
.remove = dme1737_i2c_remove, .remove = dme1737_i2c_remove,
.id_table = dme1737_id, .id_table = dme1737_id,
.detect = dme1737_i2c_detect, .detect = dme1737_i2c_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* --------------------------------------------------------------------- /* ---------------------------------------------------------------------

View file

@ -321,7 +321,7 @@ static struct i2c_driver ds1621_driver = {
.remove = ds1621_remove, .remove = ds1621_remove,
.id_table = ds1621_id, .id_table = ds1621_id,
.detect = ds1621_detect, .detect = ds1621_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
static int __init ds1621_init(void) static int __init ds1621_init(void)

View file

@ -135,7 +135,7 @@ static struct i2c_driver f75375_driver = {
.remove = f75375_remove, .remove = f75375_remove,
.id_table = f75375_id, .id_table = f75375_id,
.detect = f75375_detect, .detect = f75375_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
static inline int f75375_read8(struct i2c_client *client, u8 reg) static inline int f75375_read8(struct i2c_client *client, u8 reg)

View file

@ -251,7 +251,7 @@ static struct i2c_driver fschmd_driver = {
.remove = fschmd_remove, .remove = fschmd_remove,
.id_table = fschmd_id, .id_table = fschmd_id,
.detect = fschmd_detect, .detect = fschmd_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* /*

View file

@ -162,7 +162,7 @@ static struct i2c_driver gl518_driver = {
.remove = gl518_remove, .remove = gl518_remove,
.id_table = gl518_id, .id_table = gl518_id,
.detect = gl518_detect, .detect = gl518_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* /*

View file

@ -104,7 +104,7 @@ static struct i2c_driver gl520_driver = {
.remove = gl520_remove, .remove = gl520_remove,
.id_table = gl520_id, .id_table = gl520_id,
.detect = gl520_detect, .detect = gl520_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* Client data */ /* Client data */

View file

@ -156,7 +156,7 @@ static struct i2c_driver lm63_driver = {
.remove = lm63_remove, .remove = lm63_remove,
.id_table = lm63_id, .id_table = lm63_id,
.detect = lm63_detect, .detect = lm63_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* /*

View file

@ -182,7 +182,7 @@ static struct i2c_driver lm73_driver = {
.remove = lm73_remove, .remove = lm73_remove,
.id_table = lm73_ids, .id_table = lm73_ids,
.detect = lm73_detect, .detect = lm73_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* module glue */ /* module glue */

View file

@ -295,7 +295,7 @@ static struct i2c_driver lm75_driver = {
.remove = lm75_remove, .remove = lm75_remove,
.id_table = lm75_ids, .id_table = lm75_ids,
.detect = lm75_detect, .detect = lm75_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/*-----------------------------------------------------------------------*/ /*-----------------------------------------------------------------------*/

View file

@ -91,7 +91,7 @@ static struct i2c_driver lm77_driver = {
.remove = lm77_remove, .remove = lm77_remove,
.id_table = lm77_id, .id_table = lm77_id,
.detect = lm77_detect, .detect = lm77_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* straight from the datasheet */ /* straight from the datasheet */

View file

@ -173,7 +173,7 @@ static struct i2c_driver lm78_driver = {
.remove = lm78_i2c_remove, .remove = lm78_i2c_remove,
.id_table = lm78_i2c_id, .id_table = lm78_i2c_id,
.detect = lm78_i2c_detect, .detect = lm78_i2c_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
static struct platform_driver lm78_isa_driver = { static struct platform_driver lm78_isa_driver = {

View file

@ -159,7 +159,7 @@ static struct i2c_driver lm80_driver = {
.remove = lm80_remove, .remove = lm80_remove,
.id_table = lm80_id, .id_table = lm80_id,
.detect = lm80_detect, .detect = lm80_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* /*

View file

@ -145,7 +145,7 @@ static struct i2c_driver lm83_driver = {
.remove = lm83_remove, .remove = lm83_remove,
.id_table = lm83_id, .id_table = lm83_id,
.detect = lm83_detect, .detect = lm83_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* /*

View file

@ -356,7 +356,7 @@ static struct i2c_driver lm85_driver = {
.remove = lm85_remove, .remove = lm85_remove,
.id_table = lm85_id, .id_table = lm85_id,
.detect = lm85_detect, .detect = lm85_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };

View file

@ -184,7 +184,7 @@ static struct i2c_driver lm87_driver = {
.remove = lm87_remove, .remove = lm87_remove,
.id_table = lm87_id, .id_table = lm87_id,
.detect = lm87_detect, .detect = lm87_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* /*

View file

@ -191,7 +191,7 @@ static struct i2c_driver lm90_driver = {
.remove = lm90_remove, .remove = lm90_remove,
.id_table = lm90_id, .id_table = lm90_id,
.detect = lm90_detect, .detect = lm90_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* /*

View file

@ -416,7 +416,7 @@ static struct i2c_driver lm92_driver = {
.remove = lm92_remove, .remove = lm92_remove,
.id_table = lm92_id, .id_table = lm92_id,
.detect = lm92_detect, .detect = lm92_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
static int __init sensors_lm92_init(void) static int __init sensors_lm92_init(void)

View file

@ -2616,7 +2616,7 @@ static struct i2c_driver lm93_driver = {
.remove = lm93_remove, .remove = lm93_remove,
.id_table = lm93_id, .id_table = lm93_id,
.detect = lm93_detect, .detect = lm93_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
static int __init lm93_init(void) static int __init lm93_init(void)

View file

@ -460,7 +460,7 @@ static struct i2c_driver lm95241_driver = {
.remove = lm95241_remove, .remove = lm95241_remove,
.id_table = lm95241_id, .id_table = lm95241_id,
.detect = lm95241_detect, .detect = lm95241_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
static int __init sensors_lm95241_init(void) static int __init sensors_lm95241_init(void)

View file

@ -113,7 +113,7 @@ static struct i2c_driver max1619_driver = {
.remove = max1619_remove, .remove = max1619_remove,
.id_table = max1619_id, .id_table = max1619_id,
.detect = max1619_detect, .detect = max1619_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* /*

View file

@ -141,7 +141,7 @@ static struct i2c_driver max6650_driver = {
.remove = max6650_remove, .remove = max6650_remove,
.id_table = max6650_id, .id_table = max6650_id,
.detect = max6650_detect, .detect = max6650_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* /*

View file

@ -299,7 +299,7 @@ static struct i2c_driver pcf8591_driver = {
.class = I2C_CLASS_HWMON, /* Nearest choice */ .class = I2C_CLASS_HWMON, /* Nearest choice */
.detect = pcf8591_detect, .detect = pcf8591_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
static int __init pcf8591_init(void) static int __init pcf8591_init(void)

View file

@ -135,7 +135,7 @@ static struct i2c_driver smsc47m192_driver = {
.remove = smsc47m192_remove, .remove = smsc47m192_remove,
.id_table = smsc47m192_id, .id_table = smsc47m192_id,
.detect = smsc47m192_detect, .detect = smsc47m192_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* Voltages */ /* Voltages */

View file

@ -108,7 +108,7 @@ static struct i2c_driver thmc50_driver = {
.remove = thmc50_remove, .remove = thmc50_remove,
.id_table = thmc50_id, .id_table = thmc50_id,
.detect = thmc50_detect, .detect = thmc50_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
static ssize_t show_analog_out(struct device *dev, static ssize_t show_analog_out(struct device *dev,

View file

@ -123,7 +123,7 @@ static struct i2c_driver tmp401_driver = {
.remove = tmp401_remove, .remove = tmp401_remove,
.id_table = tmp401_id, .id_table = tmp401_id,
.detect = tmp401_detect, .detect = tmp401_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* /*

View file

@ -322,7 +322,7 @@ static struct i2c_driver tmp421_driver = {
.remove = tmp421_remove, .remove = tmp421_remove,
.id_table = tmp421_id, .id_table = tmp421_id,
.detect = tmp421_detect, .detect = tmp421_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
static int __init tmp421_init(void) static int __init tmp421_init(void)

View file

@ -1536,7 +1536,7 @@ static struct i2c_driver w83781d_driver = {
.remove = w83781d_remove, .remove = w83781d_remove,
.id_table = w83781d_ids, .id_table = w83781d_ids,
.detect = w83781d_detect, .detect = w83781d_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* /*

View file

@ -355,7 +355,7 @@ static struct i2c_driver w83791d_driver = {
.remove = w83791d_remove, .remove = w83791d_remove,
.id_table = w83791d_id, .id_table = w83791d_id,
.detect = w83791d_detect, .detect = w83791d_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* following are the sysfs callback functions */ /* following are the sysfs callback functions */

View file

@ -328,7 +328,7 @@ static struct i2c_driver w83792d_driver = {
.remove = w83792d_remove, .remove = w83792d_remove,
.id_table = w83792d_id, .id_table = w83792d_id,
.detect = w83792d_detect, .detect = w83792d_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
static inline long in_count_from_reg(int nr, struct w83792d_data *data) static inline long in_count_from_reg(int nr, struct w83792d_data *data)

View file

@ -252,7 +252,7 @@ static struct i2c_driver w83793_driver = {
.remove = w83793_remove, .remove = w83793_remove,
.id_table = w83793_id, .id_table = w83793_id,
.detect = w83793_detect, .detect = w83793_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
static ssize_t static ssize_t

View file

@ -108,7 +108,7 @@ static struct i2c_driver w83l785ts_driver = {
.remove = w83l785ts_remove, .remove = w83l785ts_remove,
.id_table = w83l785ts_id, .id_table = w83l785ts_id,
.detect = w83l785ts_detect, .detect = w83l785ts_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
/* /*

View file

@ -168,7 +168,7 @@ static struct i2c_driver w83l786ng_driver = {
.remove = w83l786ng_remove, .remove = w83l786ng_remove,
.id_table = w83l786ng_id, .id_table = w83l786ng_id,
.detect = w83l786ng_detect, .detect = w83l786ng_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
static u8 static u8

View file

@ -1214,13 +1214,13 @@ static int i2c_detect_address(struct i2c_client *temp_client,
static int i2c_detect(struct i2c_adapter *adapter, struct i2c_driver *driver) static int i2c_detect(struct i2c_adapter *adapter, struct i2c_driver *driver)
{ {
const struct i2c_client_address_data *address_data; const unsigned short *address_list;
struct i2c_client *temp_client; struct i2c_client *temp_client;
int i, err = 0; int i, err = 0;
int adap_id = i2c_adapter_id(adapter); int adap_id = i2c_adapter_id(adapter);
address_data = driver->address_data; address_list = driver->address_list;
if (!driver->detect || !address_data) if (!driver->detect || !address_list)
return 0; return 0;
/* Set up a temporary client to help detect callback */ /* Set up a temporary client to help detect callback */
@ -1235,7 +1235,7 @@ static int i2c_detect(struct i2c_adapter *adapter, struct i2c_driver *driver)
/* Stop here if we can't use SMBUS_QUICK */ /* Stop here if we can't use SMBUS_QUICK */
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_QUICK)) { if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_QUICK)) {
if (address_data->normal_i2c[0] == I2C_CLIENT_END) if (address_list[0] == I2C_CLIENT_END)
goto exit_free; goto exit_free;
dev_warn(&adapter->dev, "SMBus Quick command not supported, " dev_warn(&adapter->dev, "SMBus Quick command not supported, "
@ -1244,11 +1244,10 @@ static int i2c_detect(struct i2c_adapter *adapter, struct i2c_driver *driver)
goto exit_free; goto exit_free;
} }
for (i = 0; address_data->normal_i2c[i] != I2C_CLIENT_END; i += 1) { for (i = 0; address_list[i] != I2C_CLIENT_END; i += 1) {
dev_dbg(&adapter->dev, "found normal entry for adapter %d, " dev_dbg(&adapter->dev, "found normal entry for adapter %d, "
"addr 0x%02x\n", adap_id, "addr 0x%02x\n", adap_id, address_list[i]);
address_data->normal_i2c[i]); temp_client->addr = address_list[i];
temp_client->addr = address_data->normal_i2c[i];
err = i2c_detect_address(temp_client, driver); err = i2c_detect_address(temp_client, driver);
if (err) if (err)
goto exit_free; goto exit_free;

View file

@ -232,7 +232,7 @@ static struct i2c_driver eeprom_driver = {
.class = I2C_CLASS_DDC | I2C_CLASS_SPD, .class = I2C_CLASS_DDC | I2C_CLASS_SPD,
.detect = eeprom_detect, .detect = eeprom_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
static int __init eeprom_init(void) static int __init eeprom_init(void)

View file

@ -125,7 +125,7 @@ static struct i2c_driver ics932s401_driver = {
.remove = ics932s401_remove, .remove = ics932s401_remove,
.id_table = ics932s401_id, .id_table = ics932s401_id,
.detect = ics932s401_detect, .detect = ics932s401_detect,
.address_data = &addr_data, .address_list = normal_i2c,
}; };
static struct ics932s401_data *ics932s401_update_device(struct device *dev) static struct ics932s401_data *ics932s401_update_device(struct device *dev)

View file

@ -110,7 +110,7 @@ extern s32 i2c_smbus_write_i2c_block_data(struct i2c_client *client,
* @driver: Device driver model driver * @driver: Device driver model driver
* @id_table: List of I2C devices supported by this driver * @id_table: List of I2C devices supported by this driver
* @detect: Callback for device detection * @detect: Callback for device detection
* @address_data: The I2C addresses to probe (for detect) * @address_list: The I2C addresses to probe (for detect)
* @clients: List of detected clients we created (for i2c-core use only) * @clients: List of detected clients we created (for i2c-core use only)
* *
* The driver.owner field should be set to the module owner of this driver. * The driver.owner field should be set to the module owner of this driver.
@ -162,7 +162,7 @@ struct i2c_driver {
/* Device detection callback for automatic device creation */ /* Device detection callback for automatic device creation */
int (*detect)(struct i2c_client *, struct i2c_board_info *); int (*detect)(struct i2c_client *, struct i2c_board_info *);
const struct i2c_client_address_data *address_data; const unsigned short *address_list;
struct list_head clients; struct list_head clients;
}; };
#define to_i2c_driver(d) container_of(d, struct i2c_driver, driver) #define to_i2c_driver(d) container_of(d, struct i2c_driver, driver)
@ -391,14 +391,6 @@ static inline void i2c_unlock_adapter(struct i2c_adapter *adapter)
#define I2C_CLASS_DDC (1<<3) /* DDC bus on graphics adapters */ #define I2C_CLASS_DDC (1<<3) /* DDC bus on graphics adapters */
#define I2C_CLASS_SPD (1<<7) /* SPD EEPROMs and similar */ #define I2C_CLASS_SPD (1<<7) /* SPD EEPROMs and similar */
/* i2c_client_address_data is the struct for holding default client
* addresses for a driver and for the parameters supplied on the
* command line
*/
struct i2c_client_address_data {
const unsigned short *normal_i2c;
};
/* Internal numbers to terminate lists */ /* Internal numbers to terminate lists */
#define I2C_CLIENT_END 0xfffeU #define I2C_CLIENT_END 0xfffeU
@ -610,48 +602,34 @@ union i2c_smbus_data {
module_param_array(var, short, &var##_num, 0); \ module_param_array(var, short, &var##_num, 0); \
MODULE_PARM_DESC(var, desc) MODULE_PARM_DESC(var, desc)
#define I2C_CLIENT_INSMOD_COMMON \
static const struct i2c_client_address_data addr_data = { \
.normal_i2c = normal_i2c, \
}
/* These are the ones you want to use in your own drivers. Pick the one /* These are the ones you want to use in your own drivers. Pick the one
which matches the number of devices the driver differenciates between. */ which matches the number of devices the driver differenciates between. */
#define I2C_CLIENT_INSMOD \ #define I2C_CLIENT_INSMOD
I2C_CLIENT_INSMOD_COMMON
#define I2C_CLIENT_INSMOD_1(chip1) \ #define I2C_CLIENT_INSMOD_1(chip1) \
enum chips { any_chip, chip1 }; \ enum chips { any_chip, chip1 }
I2C_CLIENT_INSMOD_COMMON
#define I2C_CLIENT_INSMOD_2(chip1, chip2) \ #define I2C_CLIENT_INSMOD_2(chip1, chip2) \
enum chips { any_chip, chip1, chip2 }; \ enum chips { any_chip, chip1, chip2 }
I2C_CLIENT_INSMOD_COMMON
#define I2C_CLIENT_INSMOD_3(chip1, chip2, chip3) \ #define I2C_CLIENT_INSMOD_3(chip1, chip2, chip3) \
enum chips { any_chip, chip1, chip2, chip3 }; \ enum chips { any_chip, chip1, chip2, chip3 }
I2C_CLIENT_INSMOD_COMMON
#define I2C_CLIENT_INSMOD_4(chip1, chip2, chip3, chip4) \ #define I2C_CLIENT_INSMOD_4(chip1, chip2, chip3, chip4) \
enum chips { any_chip, chip1, chip2, chip3, chip4 }; \ enum chips { any_chip, chip1, chip2, chip3, chip4 }
I2C_CLIENT_INSMOD_COMMON
#define I2C_CLIENT_INSMOD_5(chip1, chip2, chip3, chip4, chip5) \ #define I2C_CLIENT_INSMOD_5(chip1, chip2, chip3, chip4, chip5) \
enum chips { any_chip, chip1, chip2, chip3, chip4, chip5 }; \ enum chips { any_chip, chip1, chip2, chip3, chip4, chip5 }
I2C_CLIENT_INSMOD_COMMON
#define I2C_CLIENT_INSMOD_6(chip1, chip2, chip3, chip4, chip5, chip6) \ #define I2C_CLIENT_INSMOD_6(chip1, chip2, chip3, chip4, chip5, chip6) \
enum chips { any_chip, chip1, chip2, chip3, chip4, chip5, chip6 }; \ enum chips { any_chip, chip1, chip2, chip3, chip4, chip5, chip6 }
I2C_CLIENT_INSMOD_COMMON
#define I2C_CLIENT_INSMOD_7(chip1, chip2, chip3, chip4, chip5, chip6, chip7) \ #define I2C_CLIENT_INSMOD_7(chip1, chip2, chip3, chip4, chip5, chip6, chip7) \
enum chips { any_chip, chip1, chip2, chip3, chip4, chip5, chip6, \ enum chips { any_chip, chip1, chip2, chip3, chip4, chip5, chip6, \
chip7 }; \ chip7 }
I2C_CLIENT_INSMOD_COMMON
#define I2C_CLIENT_INSMOD_8(chip1, chip2, chip3, chip4, chip5, chip6, chip7, chip8) \ #define I2C_CLIENT_INSMOD_8(chip1, chip2, chip3, chip4, chip5, chip6, chip7, chip8) \
enum chips { any_chip, chip1, chip2, chip3, chip4, chip5, chip6, \ enum chips { any_chip, chip1, chip2, chip3, chip4, chip5, chip6, \
chip7, chip8 }; \ chip7, chip8 }
I2C_CLIENT_INSMOD_COMMON
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
#endif /* _LINUX_I2C_H */ #endif /* _LINUX_I2C_H */