On 04/09/2014 05:36 AM, Sourav Poddar wrote: > I2c core supports defualt probing functionality for devices not registered through > dt/board files. If there are any client driver registered, i2c core will try to > check if there is any device present corresponding to the address supplied by > the client driver. If the device is actually present and not registered, core > will register it, else the device default probe will fail and we get a omap i2c controller > specific timeout messages. > For example, Using multi_v7_config on omap5-uevm, CONFIG_SENSORS_LM90 and CONFIG_ICS932S401 > is the driver which is enabled and gets registered. I2c core tries to find a valid > corresponding device on each of the address supplied by registered driver, > but could not find anyone. Hence, keep dumping the controller timeout speciic message. > > The patch tends to disable class based instantiation, default probing will not be attempted > by the i2c-core for omap i2c. Device will always get registered through device tree(dt case) > and board files(for non dt cases). Conflicts against commit 04eceb00e5f793013392ad8713c645a8132f648c (i2c: i2c-omap: deprecate class based instantiation) in next-20140409 if you are dropping HWMON adap->class = I2C_CLASS_HWMON | I2C_CLASS_DEPRECATED; this might be a good time to explain why. Also drop the following testing information down into diffstat section, there is no need to retain that information in git history. > > Tested i2c enumeration and data transfer(using i2c utilities) with linux-next master > on the following boards using omap2plus_defconfig: > * Omap3 beagle-Xm (for dt and non dt case) > * omap4 panda > * omap5-uevm > * Dra7xx > * Beaglebone white > * Beaglebone black > * am335x-evm > * AM43xx epos evm > > Tested i2c enumeration with linux-next master(except omap5) > on the following boards using multi_v7_defconfig: > * Omap3 beagle-Xm (for dt and non dt case) > * omap4 panda > * omap5-uevm (tested on next-20140131 tag, where i2c problem can be seen) > * Dra7xx > * Beaglebone white > * Beaglebone black > * am335x-evm > * AM43xx epos evm > > Cc: Felipe Balbi <balbi@xxxxxx> > Cc: Nishanth Menon <nm@xxxxxx> > Signed-off-by: Sourav Poddar <sourav.poddar@xxxxxx> > Reported-by: Nishanth Menon <nm@xxxxxx> > --- also indicate here against which tree and branch this patch is for. > v1->v2: > add "Reported-by" attribute > drivers/i2c/busses/i2c-omap.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c > index 85f8eac..4ec29a0 100644 > --- a/drivers/i2c/busses/i2c-omap.c > +++ b/drivers/i2c/busses/i2c-omap.c > @@ -1238,7 +1238,7 @@ omap_i2c_probe(struct platform_device *pdev) > adap = &dev->adapter; > i2c_set_adapdata(adap, dev); > adap->owner = THIS_MODULE; > - adap->class = I2C_CLASS_HWMON | I2C_CLASS_DEPRECATED; > + adap->class = 0; adap->class = I2C_CLASS_DEPRECATED > strlcpy(adap->name, "OMAP I2C adapter", sizeof(adap->name)); > adap->algo = &omap_i2c_algo; > adap->dev.parent = &pdev->dev; > -- Regards, Nishanth Menon -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html