> I don't see where the conflict is prevented even if everything is > registered properly with in-kernel drivers, and it looks trivial to > prevent. You can prevent it, if and only if, all devices on the bus have a kernel driver attached. This is a kind of "corner case" to me. According to my experience, this scenario does not happen too often. And for sure not often enough so I could rate it as "the kernel can reliably protect you from this address conflict". I'd rather be honest here and say: "the kernel can't protect you from this setup, you have to design your I2C bus carefully". Which is especially true in multi-master setups. With that in mind, nothing is lost giving i2c slaves a seperate address space. We gain loopback operation and (bug) reports are also easier to understand because one can easily see from logs if somebody is operating an i2c client driver or an i2c slave backend. Makes sense?
Attachment:
signature.asc
Description: PGP signature