aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/i2c/i2c-core.c4
-rw-r--r--include/linux/i2c.h7
2 files changed, 7 insertions, 4 deletions
diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
index 910a62de190d..06b4b9e1a23e 100644
--- a/drivers/i2c/i2c-core.c
+++ b/drivers/i2c/i2c-core.c
@@ -226,7 +226,9 @@ i2c_new_device(struct i2c_adapter *adap, struct i2c_board_info const *info)
226 client->adapter = adap; 226 client->adapter = adap;
227 227
228 client->dev.platform_data = info->platform_data; 228 client->dev.platform_data = info->platform_data;
229 client->flags = info->flags; 229 device_init_wakeup(&client->dev, info->flags & I2C_CLIENT_WAKE);
230
231 client->flags = info->flags & ~I2C_CLIENT_WAKE;
230 client->addr = info->addr; 232 client->addr = info->addr;
231 client->irq = info->irq; 233 client->irq = info->irq;
232 234
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index 2a32f2fd940d..e4793feac2bb 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -342,9 +342,10 @@ static inline void i2c_set_adapdata (struct i2c_adapter *dev, void *data)
342} 342}
343 343
344/*flags for the client struct: */ 344/*flags for the client struct: */
345#define I2C_CLIENT_PEC 0x04 /* Use Packet Error Checking */ 345#define I2C_CLIENT_PEC 0x04 /* Use Packet Error Checking */
346#define I2C_CLIENT_TEN 0x10 /* we have a ten bit chip address */ 346#define I2C_CLIENT_TEN 0x10 /* we have a ten bit chip address */
347 /* Must equal I2C_M_TEN below */ 347 /* Must equal I2C_M_TEN below */
348#define I2C_CLIENT_WAKE 0x80 /* for board_info; true iff can wake */
348 349
349/* i2c adapter classes (bitmask) */ 350/* i2c adapter classes (bitmask) */
350#define I2C_CLASS_HWMON (1<<0) /* lm_sensors, ... */ 351#define I2C_CLASS_HWMON (1<<0) /* lm_sensors, ... */