[i2c] [PATCH] I2C: Introduce irq_flags in i2c_boardinfo and i2c_client

Felipe Balbi me at felipebalbi.com
Sat Mar 15 13:47:15 CET 2008


Drivers like isp1301_omap.c are used in several different
boards and thus we need different irq_flags. Instead of
keeping conditional code in the driver only because of
irq_flags we can get it from i2c_boardinfo.

Signed-off-by: Felipe Balbi <me at felipebalbi.com>
---
 drivers/i2c/i2c-core.c |    1 +
 include/linux/i2c.h    |    2 ++
 2 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
index fd84b2a..5a290f6 100644
--- a/drivers/i2c/i2c-core.c
+++ b/drivers/i2c/i2c-core.c
@@ -254,6 +254,7 @@ i2c_new_device(struct i2c_adapter *adap, struct i2c_board_info const *info)
 	client->flags = info->flags & ~I2C_CLIENT_WAKE;
 	client->addr = info->addr;
 	client->irq = info->irq;
+	client->irq_flags = info->irq_flags;
 
 	strlcpy(client->driver_name, info->driver_name,
 		sizeof(client->driver_name));
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index 365e0df..fe715f6 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -175,6 +175,7 @@ struct i2c_client {
 	struct i2c_driver *driver;	/* and our access routines	*/
 	struct device dev;		/* the device structure		*/
 	int irq;			/* irq issued by device (or -1) */
+	int irq_flags;			/* flags for irq		*/
 	char driver_name[KOBJ_NAME_LEN];
 	struct list_head list;		/* DEPRECATED */
 	struct completion released;
@@ -227,6 +228,7 @@ struct i2c_board_info {
 	unsigned short	addr;
 	void		*platform_data;
 	int		irq;
+	int		irq_flags;
 };
 
 /**
-- 
1.5.4.3.447.gc95b3




More information about the i2c mailing list