Hi Alexander, On Thursday 18 June 2015 02:39 PM, Alexander Sverdlin wrote: > Hi! > > On 18/06/15 11:00, ext Sekhar Nori wrote: >>> + if (davinci_i2c_read_reg(dev, DAVINCI_I2C_ICPID2_REG) == 0x2206) { >>>> + dev_dbg(dev->dev, "Keystone SoC detected\n"); >>>> + d = 6; >>>> + } >> I think its better to use a different compatible string for i2c on >> keystone devices rather than using a fixed hardcoded IP version. > > Yeah, this should have been done from the beginning, when the driver has been > re-used for Keystone, but this time is already missed, so I don't want > to introduce huge incompatibility with the existing device-trees. How is backward compatibility broken? compatible property is a list, so you would do something like: compatible = "ti,keystone-i2c", "ti,davinci-i2c"; Newer kernels would keep working with older device tree blobs. Older kernels wont have the fix, but thats true even now. > And from the other PoV, device-trees are for something one cannot probe. We > can probe for Keystone revisions and can free the end-user from this headache > completely. Keep in mind that this can invite driver patching whenever version number is tinkered with in hardware - even for otherwise software-invsible changes. Thanks, Sekhar -- 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