From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sekhar Nori Subject: Re: [PATCH] i2c: davinci: Fix bus rate calculation on Keystone SoC Date: Thu, 18 Jun 2015 14:55:19 +0530 Message-ID: <55828E7F.8060501@ti.com> References: <5582870B.7030304@nokia.com> <558288B0.1020706@ti.com> <55828ADB.3080604@nokia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <55828ADB.3080604-xNZwKgViW5gAvxtiuMwx3w@public.gmane.org> Sender: linux-i2c-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Alexander Sverdlin , Kevin Hilman , Wolfram Sang , linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Murali Karicheri List-Id: linux-i2c@vger.kernel.org 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