On Wed, May 08, 2013 at 11:57:59AM -0400, Jean-François Dagenais wrote: > Hi all, > > I've read the discussion on multimaster and I have to agree with Uwe about masters doing the arbitration (and retry). However, there's another issue which one quickly discovers when adding a second master on a physical i2c bus. > > Here's the scenario: Using driver jc42 which adds a "detect" function, and using two masters which end-up creating "i2c-0" and "i2c-1", the temp sensors get instanciated twice, i.e. once on each bus master. This is obviously very problematic as there are two driver instances controlling the exact same chip. > > Before I dive a bit too much into this, is there something I am missing? > Isn't it the point of having multiple masters on the same bus, that each of them can manage the same devices ? Question for me is why you would want two masters in the same system context point to the same I2C bus. Usually the second master would be something like an IPMI controller or a second CPU/controller board in a redundant system. Even then the multi-master scenario is problematic, as you still end up with multiple masters controlling the same device. That is a problem inherent to I2C, and especially problematic with multi-page devices (typical problem: master 1 sets page, master 2 sets page, master 1 accesses wrong data). I don't think there is a clean solution to solve that, other than to block i2c access for one of the masters entirely. Guenter -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html