diff options
author | Anton Vorontsov <avorontsov@ru.mvista.com> | 2008-10-22 14:21:33 -0400 |
---|---|---|
committer | Jean Delvare <khali@linux-fr.org> | 2008-10-22 14:21:33 -0400 |
commit | 11f1f2afd6b07729b12aaba479344d7f12d88ff9 (patch) | |
tree | b0744f435b33869d9b2bb832f1df7cb5c9c6f6bc | |
parent | 02cf617282c6917484410f86ded3f2d99a05f098 (diff) |
i2c: Add info->archdata field
If present the info->archdata is copied into the dev->archdata.
Some (OpenFirmware) platforms need it.
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
-rw-r--r-- | drivers/i2c/i2c-core.c | 3 | ||||
-rw-r--r-- | include/linux/i2c.h | 2 |
2 files changed, 5 insertions, 0 deletions
diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c index 42e852d79ffa..5a485c22660a 100644 --- a/drivers/i2c/i2c-core.c +++ b/drivers/i2c/i2c-core.c | |||
@@ -266,6 +266,9 @@ i2c_new_device(struct i2c_adapter *adap, struct i2c_board_info const *info) | |||
266 | 266 | ||
267 | client->dev.platform_data = info->platform_data; | 267 | client->dev.platform_data = info->platform_data; |
268 | 268 | ||
269 | if (info->archdata) | ||
270 | client->dev.archdata = *info->archdata; | ||
271 | |||
269 | client->flags = info->flags; | 272 | client->flags = info->flags; |
270 | client->addr = info->addr; | 273 | client->addr = info->addr; |
271 | client->irq = info->irq; | 274 | client->irq = info->irq; |
diff --git a/include/linux/i2c.h b/include/linux/i2c.h index 12d7364ad3f3..33a5992d4936 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h | |||
@@ -239,6 +239,7 @@ static inline void i2c_set_clientdata(struct i2c_client *dev, void *data) | |||
239 | * @flags: to initialize i2c_client.flags | 239 | * @flags: to initialize i2c_client.flags |
240 | * @addr: stored in i2c_client.addr | 240 | * @addr: stored in i2c_client.addr |
241 | * @platform_data: stored in i2c_client.dev.platform_data | 241 | * @platform_data: stored in i2c_client.dev.platform_data |
242 | * @archdata: copied into i2c_client.dev.archdata | ||
242 | * @irq: stored in i2c_client.irq | 243 | * @irq: stored in i2c_client.irq |
243 | * | 244 | * |
244 | * I2C doesn't actually support hardware probing, although controllers and | 245 | * I2C doesn't actually support hardware probing, although controllers and |
@@ -258,6 +259,7 @@ struct i2c_board_info { | |||
258 | unsigned short flags; | 259 | unsigned short flags; |
259 | unsigned short addr; | 260 | unsigned short addr; |
260 | void *platform_data; | 261 | void *platform_data; |
262 | struct dev_archdata *archdata; | ||
261 | int irq; | 263 | int irq; |
262 | }; | 264 | }; |
263 | 265 | ||