diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/i2c.h | 5 | ||||
| -rw-r--r-- | include/linux/mod_devicetable.h | 11 |
2 files changed, 13 insertions, 3 deletions
diff --git a/include/linux/i2c.h b/include/linux/i2c.h index 365e0df3646b..89cb34d5b0ba 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h | |||
| @@ -126,7 +126,7 @@ struct i2c_driver { | |||
| 126 | * With the driver model, device enumeration is NEVER done by drivers; | 126 | * With the driver model, device enumeration is NEVER done by drivers; |
| 127 | * it's done by infrastructure. (NEW STYLE DRIVERS ONLY) | 127 | * it's done by infrastructure. (NEW STYLE DRIVERS ONLY) |
| 128 | */ | 128 | */ |
| 129 | int (*probe)(struct i2c_client *); | 129 | int (*probe)(struct i2c_client *, const struct i2c_device_id *); |
| 130 | int (*remove)(struct i2c_client *); | 130 | int (*remove)(struct i2c_client *); |
| 131 | 131 | ||
| 132 | /* driver model interfaces that don't relate to enumeration */ | 132 | /* driver model interfaces that don't relate to enumeration */ |
| @@ -140,11 +140,10 @@ struct i2c_driver { | |||
| 140 | int (*command)(struct i2c_client *client,unsigned int cmd, void *arg); | 140 | int (*command)(struct i2c_client *client,unsigned int cmd, void *arg); |
| 141 | 141 | ||
| 142 | struct device_driver driver; | 142 | struct device_driver driver; |
| 143 | const struct i2c_device_id *id_table; | ||
| 143 | }; | 144 | }; |
| 144 | #define to_i2c_driver(d) container_of(d, struct i2c_driver, driver) | 145 | #define to_i2c_driver(d) container_of(d, struct i2c_driver, driver) |
| 145 | 146 | ||
| 146 | #define I2C_NAME_SIZE 20 | ||
| 147 | |||
| 148 | /** | 147 | /** |
| 149 | * struct i2c_client - represent an I2C slave device | 148 | * struct i2c_client - represent an I2C slave device |
| 150 | * @flags: I2C_CLIENT_TEN indicates the device uses a ten bit chip address; | 149 | * @flags: I2C_CLIENT_TEN indicates the device uses a ten bit chip address; |
diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h index 139d49d2f078..d73eceaa7afb 100644 --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h | |||
| @@ -368,4 +368,15 @@ struct virtio_device_id { | |||
| 368 | }; | 368 | }; |
| 369 | #define VIRTIO_DEV_ANY_ID 0xffffffff | 369 | #define VIRTIO_DEV_ANY_ID 0xffffffff |
| 370 | 370 | ||
| 371 | /* i2c */ | ||
| 372 | |||
| 373 | #define I2C_NAME_SIZE 20 | ||
| 374 | #define I2C_MODULE_PREFIX "i2c:" | ||
| 375 | |||
| 376 | struct i2c_device_id { | ||
| 377 | char name[I2C_NAME_SIZE]; | ||
| 378 | kernel_ulong_t driver_data; /* Data private to the driver */ | ||
| 379 | }; | ||
| 380 | |||
| 381 | |||
| 371 | #endif /* LINUX_MOD_DEVICETABLE_H */ | 382 | #endif /* LINUX_MOD_DEVICETABLE_H */ |
