aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/i2c.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/i2c.h')
-rw-r--r--include/linux/i2c.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index 4bae0b72ed3c..56cfe23ffb39 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -353,7 +353,7 @@ struct i2c_algorithm {
353 */ 353 */
354struct i2c_adapter { 354struct i2c_adapter {
355 struct module *owner; 355 struct module *owner;
356 unsigned int id; 356 unsigned int id __deprecated;
357 unsigned int class; /* classes to allow probing for */ 357 unsigned int class; /* classes to allow probing for */
358 const struct i2c_algorithm *algo; /* the algorithm to access the bus */ 358 const struct i2c_algorithm *algo; /* the algorithm to access the bus */
359 void *algo_data; 359 void *algo_data;
@@ -384,11 +384,15 @@ static inline void i2c_set_adapdata(struct i2c_adapter *dev, void *data)
384 dev_set_drvdata(&dev->dev, data); 384 dev_set_drvdata(&dev->dev, data);
385} 385}
386 386
387static inline int i2c_parent_is_i2c_adapter(const struct i2c_adapter *adapter) 387static inline struct i2c_adapter *
388i2c_parent_is_i2c_adapter(const struct i2c_adapter *adapter)
388{ 389{
389 return adapter->dev.parent != NULL 390 struct device *parent = adapter->dev.parent;
390 && adapter->dev.parent->bus == &i2c_bus_type 391
391 && adapter->dev.parent->type == &i2c_adapter_type; 392 if (parent != NULL && parent->type == &i2c_adapter_type)
393 return to_i2c_adapter(parent);
394 else
395 return NULL;
392} 396}
393 397
394/* Adapter locking functions, exported for shared pin cases */ 398/* Adapter locking functions, exported for shared pin cases */
@@ -403,8 +407,6 @@ void i2c_unlock_adapter(struct i2c_adapter *);
403 407
404/* i2c adapter classes (bitmask) */ 408/* i2c adapter classes (bitmask) */
405#define I2C_CLASS_HWMON (1<<0) /* lm_sensors, ... */ 409#define I2C_CLASS_HWMON (1<<0) /* lm_sensors, ... */
406#define I2C_CLASS_TV_ANALOG (1<<1) /* bttv + friends */
407#define I2C_CLASS_TV_DIGITAL (1<<2) /* dvb cards */
408#define I2C_CLASS_DDC (1<<3) /* DDC bus on graphics adapters */ 410#define I2C_CLASS_DDC (1<<3) /* DDC bus on graphics adapters */
409#define I2C_CLASS_SPD (1<<7) /* SPD EEPROMs and similar */ 411#define I2C_CLASS_SPD (1<<7) /* SPD EEPROMs and similar */
410 412