diff options
Diffstat (limited to 'include/linux/i2c.h')
| -rw-r--r-- | include/linux/i2c.h | 10 | 
1 files changed, 5 insertions, 5 deletions
diff --git a/include/linux/i2c.h b/include/linux/i2c.h index 38a21c3edd2..a81bf6d23b3 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h @@ -28,7 +28,6 @@  #include <linux/types.h>  #ifdef __KERNEL__ -#include <linux/module.h>  #include <linux/mod_devicetable.h>  #include <linux/device.h>	/* for struct device */  #include <linux/sched.h>	/* for completion */ @@ -49,6 +48,8 @@ struct i2c_driver;  union i2c_smbus_data;  struct i2c_board_info; +struct module; +  #if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)  /*   * The master routines are the ones normally used to transmit data to devices @@ -451,10 +452,9 @@ extern int i2c_add_numbered_adapter(struct i2c_adapter *);  extern int i2c_register_driver(struct module *, struct i2c_driver *);  extern void i2c_del_driver(struct i2c_driver *); -static inline int i2c_add_driver(struct i2c_driver *driver) -{ -	return i2c_register_driver(THIS_MODULE, driver); -} +/* use a define to avoid include chaining to get THIS_MODULE */ +#define i2c_add_driver(driver) \ +	i2c_register_driver(THIS_MODULE, driver)  extern struct i2c_client *i2c_use_client(struct i2c_client *client);  extern void i2c_release_client(struct i2c_client *client);  |