lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 3 Aug 2017 12:00:27 +0200
From:   Peter Rosin <peda@...ntia.se>
To:     "devicetree@...r.kernel.org" <devicetree@...r.kernel.org>
Cc:     "linux-i2c@...r.kernel.org" <linux-i2c@...r.kernel.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        Shawn Guo <shawnguo@...nel.org>,
        Sascha Hauer <kernel@...gutronix.de>,
        Stefan Agner <stefan@...er.ch>,
        Rob Herring <robh+dt@...nel.org>,
        Mark Rutland <mark.rutland@....com>,
        Russell King <linux@...linux.org.uk>,
        linux-arm-kernel@...ts.infradead.org
Subject: Compatibles for i2c muxes nxp,pca954x and ti,tca954x

Hi!

Texas has apparently made copies for some of the NXP devices
handled by the drivers/i2c/muxes/i2c-mux-pca954x.c driver.

How is that best handled?

I see e.g. that arch/arm/boot/dts/vf610-zii-dev-rev-{b,c}.dts has
this snippet:

&i2c2 {
	tca9548@70 {
		compatible = "nxp,pca9548";

Which indicates that it really is a Texas chip sitting there, but that
someone did not bother to state that explicitly.

As I see it, there are two levels to this.

1. Update the above to be

		compatible = "ti,tca9548a", "nxp,pca9548";

   and rely on the secondary compatible to be matched with the driver.

2. Also update the driver to recognize the "ti,tca9548a" compatible.

There are also "ti,tca9543a", "ti,tca9544a", "ti,tca9545a" and
"ti,tca9546a" to consider (but no "ti,tca9542a" or "ti,tca9547a").

AFAIU, the Texas chips are completely compatible from the driver
point of view.

Step 1 above is probably a bugfix, should someone find some
unexpected incompatibility in the future. Without differentiating
the compatibles now, there's just no way to handle that in a future
driver.

But is step 2 needed/desired until such a time that differences between
the chips are found? How is this situation handled elsewhere?

Cheers,
peda

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ