Re-add the flags field to the i2c_adapter structure so we can add a new
flag I2C_ADAPTER_SKIP_PROBE. When an adapter sets this flag, the bus
will never be probed by any i2c client driver, even if forced addresses
are listed. Adapters that set this flag will need to use the
i2c_probe_device function to attach new clients.
Signed-off-by: Nathan Lutchansky <[email protected]>
drivers/i2c/i2c-core.c | 3 +++
include/linux/i2c.h | 4 ++++
2 files changed, 7 insertions(+)
Index: linux-2.6.13-rc6+gregkh/drivers/i2c/i2c-core.c
===================================================================
--- linux-2.6.13-rc6+gregkh.orig/drivers/i2c/i2c-core.c
+++ linux-2.6.13-rc6+gregkh/drivers/i2c/i2c-core.c
@@ -788,6 +788,9 @@ int i2c_probe(struct i2c_adapter *adapte
int i, err;
int adap_id = i2c_adapter_id(adapter);
+ if (adapter->flags & I2C_ADAPTER_SKIP_PROBE)
+ return 0;
+
/* Forget it if we can't probe using SMBUS_QUICK */
if (! i2c_check_functionality(adapter,I2C_FUNC_SMBUS_QUICK))
return -1;
Index: linux-2.6.13-rc6+gregkh/include/linux/i2c.h
===================================================================
--- linux-2.6.13-rc6+gregkh.orig/include/linux/i2c.h
+++ linux-2.6.13-rc6+gregkh/include/linux/i2c.h
@@ -233,6 +233,7 @@ struct i2c_adapter {
unsigned int id;/* == is algo->id | hwdep.struct->id, */
/* for registered values see below */
unsigned int class;
+ unsigned int flags; /* div., see below */
struct i2c_algorithm *algo;/* the algorithm to access the bus */
void *algo_data;
@@ -290,6 +291,9 @@ static inline void i2c_set_adapdata (str
#define I2C_CLIENT_TEN 0x10 /* we have a ten bit chip address */
/* Must equal I2C_M_TEN below */
+/*flags for the adapter struct: */
+#define I2C_ADAPTER_SKIP_PROBE 0x01 /* Don't probe for devices */
+
/* i2c adapter classes (bitmask) */
#define I2C_CLASS_HWMON (1<<0) /* lm_sensors, ... */
#define I2C_CLASS_TV_ANALOG (1<<1) /* bttv + friends */
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|